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

Extended support for SQL Server 2005 ended on April 12, 2016

If you are still running SQL Server 2005, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB: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 認証を使用する場合、コマンド プロンプトに次を入力し ENTER キーを押します。
      sqlcmd - S インスタンス名 -d-U をマスターします。 SQLLogin -P パスワード
    注: <b> インスタンス名 接続している SQL Server 2005 インスタンスの名前のプレース ホルダーです。 SQLLogin 既定のデータベースが削除されて、SQL Server ログイン用のプレース ホルダーです。 パスワード SQL Server ログインのパスワードのプレース ホルダーです。
  3. Sqlcmd プロンプトで、次を入力し、ENTER キーを押します。
    ログインを変更します。 SQLLogin DEFAULT_DATABASE = AvailDBName
    注: <b> AvailDBName インスタンスの SQL Server ログインがアクセスできる既存のデータベースの名前のプレース ホルダーです。
  4. Sqlcmd プロンプトで、次のように入力します。 移動、し、ENTER キーを押します。

SQL Server 2000 および SQL Server 7.0

osql ユーティリティを使用すれば、SQL Server 2000 および SQL Server 7.0 の既定のデータベースを変更できます。これを行うには、次の手順を実行します。
  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 Server Enterprise Manager (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 のインスタンスでは、この条件を自動的にチェックするツールについての詳細を提供します。
ルールのソフトウェアルールのタイトル仕訳ルールの説明ルールの評価対象となる製品のバージョン
System Center のアドバイザー存在しない既定のデータベースで構成されている SQL Server のサーバー レベルのプリンシパルSQL Server のインスタンスでのログインが存在する場合、system Center Advisorchecks は、もはや存在しない既定のデータベースで構成されます。Theadvisor のアラートの「情報収集」セクションで提供され、状況を解決するには、この資料で説明した手順を実行する詳細を確認します。 SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

プロパティ

文書番号:307864 - 最終更新日: 10/04/2015 05:08:00 - リビジョン: 11.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, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtja
フィードバック