4060: Cannot open database requested by the login. The login failed(ログインが要求したデータベースを開けない)
SQL Server意味
認証は成功しても、要求されたデータベースを開けないため接続が拒否される。通常は 18456 と同時に見られる。
原因
データベースが存在しない、OFFLINE/SINGLE_USER/RESTORING/SUSPECT の状態、ログインにそのデータベースでのユーザーマッピングがない、または接続文字列の既定データベースにアクセスできない。
対処方法
データベースが存在し ONLINE であることを確認する: SELECT name, state_desc FROM sys.databases。データベース内にログイン用のユーザーを作成し、権限を付与する。接続文字列の Initial Catalog/Database の値を確認する。データベースが RESTORING/SUSPECT なら修復/リストアの手順に従う。
同じデータベースの他の項目
- 1105Could not allocate space for object in database because the filegroup is full(ファイルグループが満杯のため領域を割り当てられない)
- 208Invalid object name(無効なオブジェクト名)
- 229The SELECT/EXECUTE permission was denied on the object(オブジェクトに対する SELECT/EXECUTE 権限が拒否された)
- 233A connection was successfully established with the server, but then an error occurred (no process is on the other end of the pipe)(接続確立後にエラーが発生)
- 823The operating system returned error to SQL Server during a read/write at offset in file (I/O error)(読み取り/書き込み中に OS がエラーを返した)
- 824SQL Server detected a logical consistency-based I/O error (page corruption)(論理整合性ベースの I/O エラー)
- 701There is insufficient system memory in resource pool to run this query(リソースプールのシステムメモリ不足)