web-dev-qa-db-ja.com

SQL Serverへのログインエラー

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

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

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

18
Tavousi

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

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

ユーザーのデフォルトデータベースを開けません。ログインに失敗しました。ユーザー「UserName」のログインに失敗しました。 (Microsoft SQL Server、エラー:4064)

これを解決する方法を次に示します here を示します。

ログオンするためのソリューションは次のとおりです。

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

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

ALTER LOGIN [test] WITH DEFAULT_DATABASE = master
GO
31
pai.not.pi

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

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

各ログインに無効なデフォルトデータベースを設定して、マスターのデフォルトデータベースを作成できます(すべてのログインにアクセスできます)。

alter login [loginname] with DEFAULT_DATABASE = master
2
Simon D

接続時にユーザーのデフォルトデータベースは使用できないため、このエラーメッセージはポップアップ表示されます。その特定のユーザーにタグ付けしたサーバーを確認して、オンラインモードかオフラインモードかを確認してください。

0
Bhanu