SQL Server 2008に接続しようとすると、次のメッセージが表示されます。
サーバーに接続できません。
追加情報:ユーザーのデフォルトデータベースを開けません。ログインに失敗しました。ユーザー「sa」のログインは失敗します。 (Microsoft SQL Server。エラー:4064)
このエラーを解決するにはどうすればよいですか?
このエラー(Microsoft SQL Server.Error:4064
)は、削除されたデータベースが一部のデータベースユーザーのデフォルトである場合に発生します。
ユーザーがログインしようとしたときにデフォルトのデータベースが削除されると、エラーが表示されます。
ユーザーのデフォルトデータベースを開けません。ログインに失敗しました。ユーザー「UserName」のログインに失敗しました。 (Microsoft SQL Server、エラー:4064)
これを解決する方法を次に示します here を示します。
ログオンするためのソリューションは次のとおりです。
サーバーを修正する永続的な解決策は、SQLを次のように実行することです。
ALTER LOGIN [test] WITH DEFAULT_DATABASE = master
GO
私の場合、これは、ユーザーが複数のグループのメンバーであり、各グループが独自のログインを持っていることが原因でした。すべてのグループのログインでは、デフォルトのデータベースをユーザーがアクセスできるデータベースに設定する必要があります。
その他の問題は https://support.Microsoft.com/en-us/kb/307864 にリストされています。
各ログインに無効なデフォルトデータベースを設定して、マスターのデフォルトデータベースを作成できます(すべてのログインにアクセスできます)。
alter login [loginname] with DEFAULT_DATABASE = master
接続時にユーザーのデフォルトデータベースは使用できないため、このエラーメッセージはポップアップ表示されます。その特定のユーザーにタグ付けしたサーバーを確認して、オンラインモードかオフラインモードかを確認してください。