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