
ユーザーにはそれぞれ、既定のデータベースがあります。ログイン データベースを指定せずに、SQL Server
を実行しているコンピュータに接続すると、既定のデータベースが使用されます。ただし、接続時に既定のデータベースが使用可能でない場合は、接続できない
ことがあります。このとき、エラー メッセージ 4062 または 4064 が表示されます。このエラー メッセージのテキストは以下のとおりです。
接続時に、ユーザーの既定のデータベースが使用できない状態になっています。ユーザーの既定のデータベースが以下の状態である可能性があります。
• | 問題のあるモードである。 |
• | なくなっている。 |
• | シングル ユーザー モードであり、唯一の利用可能な接続が既に使用されている。 |
• | デタッチされている。 |
• | RESTRICTED_USER 状態に設定されている。 |
• | オフラインである。 |
• | 緊急モードに設定されている。 |
• | ログイン アカウントがユーザーに対応付けられていないか、そのユーザーがアクセスを拒否されている。 |
また、ログイン アカウントが複数のグループのメンバである場合があります。そのいずれかのグループの既定のデータベースが、接続時に使用できない状態です。
SQL Server 2005 では、sqlcmd ユーティリティを使用して既定のデータベースを変更できます。これを行うには、以下の手順を実行します。
1. | [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。cmd と入力し、Enter キーを押します。 |
||||
2. | SQL Server ログインで使用している認証の種類に応じて、以下のいずれかの方法を使用します。
注 : InstanceName には、接続先の SQL Server 2005 インスタンスの名前が入ります。SQLLogin には、既定のデータベースが削除されている SQL Server ログイン名が入ります。Password には、SQL Server ログインのパスワードが入ります。 |
||||
3. | sqlcmd プロンプトで次の行を入力し、Enter キーを押します。 ALTER LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName
注 : AvailDBName には、SQL Server ログインでアクセスできる、そのインスタンス内の既存のデータベースの名前が入ります。 |
||||
4. | sqlcmd プロンプトで GO と入力し、Enter キーを押します。 |
Microsoftサポートオンライン:文書番号 307864