SQL Server のインスタンスに接続すると、エラー メッセージ:「ユーザーの既定データベースを開けません」

文書翻訳 文書翻訳
文書番号: 307864 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

各ユーザーがデフォルトのデータベースです。ログイン データベースを指定しない、Microsoft SQL Server を実行しているコンピューターに接続して、既定のデータベースが使用されます。ただし、接続時に、既定のデータベースが使用できない場合がないできます接続できます。代わりに、エラー メッセージ 4062 または 4064 のエラー メッセージが表示されます。エラー メッセージのテキストは次のとおりです。
ユーザーの既定データベースを開けません。

原因

ユーザーの既定データベースは、接続時に使用できません。可能性がある、データベース。
  • 問題のあるモードでは。
  • 存在しません。
  • シングル ユーザー モードであり、唯一はまたは他の何か他のユーザーが利用できる接続は既に使用されています。
  • デタッチされています。
  • RESTRICTED_USER 状態に設定されています。
  • オフラインです。
  • 緊急モードに設定されています。
  • しませんが、ログイン アカウントにマップされていないユーザーや、ユーザーがアクセスを拒否されています。
  • データベース ミラーの一部です。
また、ログイン アカウントには、複数のグループのメンバーがあり、接続時にこれらのグループのいずれかの既定のデータベースは使用できません。

回避策

この現象を回避するには、接続文字列で有効、使用可能なデータベースを指定します。エラーを避けるには、ユーザーの既定データベースが使用できない場合、ログインを変更するユーザーとしてログオンします。接続の現在利用可能なデータベースへのユーザーの既定データベースを変更します。

SQL Server 2005 およびそれ以降のバージョン

SQL Server 2005 では、既定のデータベースを変更するには、sqlcmd ユーティリティを使用できます。これを行うには、次の手順を実行します。
  1. [スタート] ボタン、実行をクリックして型 cmd、し、ENTER キーを押します。
  2. SQL Server ログインを使用する認証の種類に応じて、次の方法のいずれかを使用します。
    • SQL Server ログインで使用するインスタンスへの接続に Windows 認証と、コマンド プロンプトで、次を入力し、ENTER キーを押します。
      sqlcmd - S-E インスタンス名 d: マスター
    • 場合は、SQL Server ログインのインスタンスへの接続に SQL Server 認証を使用して、コマンド プロンプトで、次を入力しを押します。
      sqlcmd - S インスタンス名 -d-U をマスターします。 SQLLogin -P パスワード
    注: インスタンス名 接続先の SQL Server 2005 のインスタンスの名前のプレース ホルダーです。 SQLLogin SQL Server ログインのデフォルト データベースが削除されましたのプレース ホルダーです。 パスワード SQL Server ログインのパスワードのプレース ホルダーです。
  3. Sqlcmd プロンプトで、次を入力し、ENTER キーを押します。
    ログインを変更します。 SQLLogin DEFAULT_DATABASE = AvailDBName
    注: AvailDBName インスタンスでの SQL Server ログインでアクセスできる既存のデータベースの名前のプレース ホルダーです。
  4. Sqlcmd プロンプトで、次のように入力します。 移動、し、ENTER キーを押します。

SQL Server 2000年と SQL Server 7.0

SQL Server 2000年および SQL Server 7.0 の既定のデータベースを変更するには、osql ユーティリティを使用できます。これを行うには、次の手順を実行します。
  1. コマンド プロンプトで、次のように入力し、ENTER キーを押します。
    C:\>osql -E の-d マスター
  2. で、 osql プロンプト、次のと入力し、ENTER キーを押します。
    1 > sp_defaultdb ' ユーザー 's_login'、'マスター'
  3. 2 番目のプロンプトで次の入力、ENTER キーを押します。
    2 > 移動

状況

この動作は仕様です。

詳細

この現象を説明するために OSQL を使用接続と、-dオプションを使用して、通常のオンライン状態にある既存のデータベースでしてみてください。接続はすべてエラー メッセージせず成功します。

逆に、データベースが利用できない場合は、各種の SQL Server クライアント ユーティリティから以下のような応答が表示されます。
  • SQL Server Management Studio (SQL Server 2005)
    接続できません。 サーバー名
    追加情報:
    ユーザーの既定データベースを開けません。ログインに失敗しました。ユーザーはログインできませんでした 'ユーザー名'.(Microsoft SQL Server、エラー: 4064)
  • Sqlcmd ユーティリティを使用して、SQL Server 2005 で
    メッセージ 4064、レベル 11、状態 1、サーバー サーバー名、行 1
    ユーザーの既定データベースを開けません。ログインに失敗しました。
    メッセージ 18456、レベル 14、状態 1、サーバー サーバー名、ラインの 1Login のユーザーに失敗しました 'ユーザー名'.
  • SQL Server 2000年クエリ アナライザー (QA)
    サーバー TESTSERVER に接続できません。
    サーバー: メッセージ 4064、レベル 16、状態 1
    [マイクロソフト][ODBC SQL Server ドライバー][SQL Server]ユーザーの既定データベースを開けません。ログインに失敗しました。
  • SQL Server 2000年サーバーのエンタープライズ マネージャー (SEM)
    接続を確立できませんでしたに TESTSERVER - ユーザーの既定データベース 'dbid' を開くことができません。代わりに、master データベースを使用します。

    SQL Server が実行されていることを確認し、(TESTSERVER ノードを右クリック) して、SQL Server の登録プロパティを確認して再度試してください。
  • SQL Server 2000 OSQL を使用して、コマンド プロンプト

    次のエラー メッセージが表示されるは、 C:\>osql -Eコマンドを使用する場合。
    ユーザーの既定データベースを開けません。ログインに失敗しました。
  • SQL Server 7.0 のクエリ アナライザー (QA)
    サーバーに接続できませんでした \\TESTSERVER。
    サーバー: メッセージ 4062、レベル 16、状態 1
    [マイクロソフト][ODBC SQL Server ドライバー][SQL Server]ユーザーの既定データベース '<ID>' を開くことができません。Master データベースの代わりに使用します</ID>。
  • SQL Server 7.0 の OSQL を使用して、コマンド プロンプト

    次のエラー メッセージが表示されるは、 C:\>osql -Eコマンドを使用する場合。
    ユーザーの既定データベース 'dbid' を開くことができません。
    代わりに、master データベースを使用します。
次の表の詳細については、製品や、ルールが評価される対象となる SQL Server 製品のバージョンと SQL Server のインスタンスでは、この条件を自動的に確認するツールを提供します。
元に戻す全体を表示する
ルールのソフトウェアルールのタイトル仕訳ルールの説明ルールが評価される対象となる製品のバージョンです。
システム センターのアドバイザー存在しない既定のデータベースで構成されている SQL Server のサーバー レベルのプリンシパルシステム センターの Advisorchecks ログインは、SQL Server のインスタンスに存在する場合は、もはや存在しない、既定のデータベースで構成されます。Theadvisor のアラートの「情報収集」セクションに記載されている状況を解決するのには、この資料で説明されている手順に従って、詳細を確認します。 SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

プロパティ

文書番号: 307864 - 最終更新日: 2014年6月24日 - リビジョン: 8.0
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
キーワード:?
kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:307864
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com