22

SQL Server 2008に接続すると、次のメッセージが表示されます。

サーバーに接続できません。
追加情報:ユーザーのデフォルトデータベースを開くことができません。ログインに失敗しました。ユーザー「sa」のログインに失敗しました。(Microsoft SQLServer。エラー:4064)

このエラーを解決するにはどうすればよいですか?

4

3 に答える 3

43

このエラー(Microsoft SQL Server.Error:4064)は、ドロップされたデータベースが一部のデータベースユーザーのデフォルトである場合に発生します。

ユーザーがログインしようとしてデフォルトのデータベースが削除されると、エラーが表示されます。

ユーザーのデフォルトデータベースを開くことができません。ログインに失敗しました。ユーザー'UserName'のログインに失敗しました。(Microsoft SQL Server、エラー:4064)

これを解決する方法を以下に要約します

ログオンするための解決策は次のとおりです。

  1. [サーバーに接続]ダイアログで、[オプション]をクリックします
  2. Connect to database:の値をサーバー上の任意の有効なデータベースに変更します

サーバーを修正するための永続的な解決策は、次のようにSQLを実行することです。

ALTER LOGIN [test] WITH DEFAULT_DATABASE = master
GO
于 2012-04-04T11:52:22.840 に答える
3

私の場合、これはユーザーが複数のグループのメンバーであり、各グループが独自のログインを持っていることが原因でした。すべてのグループのログインでは、ユーザーがアクセスできるデータベースに既定のデータベースを設定する必要があります。

その他の考えられる問題は、https://support.microsoft.com/en-us/kb/307864にリストされています。

無効なデフォルト データベースを使用して各ログインを設定し、master のデフォルト データベースを設定できます (すべてのログインからアクセス可能)。

alter login [loginname] with DEFAULT_DATABASE = master
于 2015-06-23T07:21:40.323 に答える