次の方法で共有


SQL Server 累積的な更新プログラムまたは Service Pack をインストールするときに、レジストリのデータディレクトリまたはログ ディレクトリが無効であるというエラー

この記事は、SQL Server インスタンスの累積的な更新プログラムまたは Service Pack をインストールするときに発生する問題を解決するのに役立ちます。

元の製品バージョン: SQL Server
元の KB 番号: 2565113

現象

SQL Server インスタンスの累積的な更新プログラムまたは Service Pack をインストールすると、セットアップ プロセスが失敗し、次のいずれかのエラー メッセージが表示されることがあります。

The User Data directory in the registry is not valid. Verify DefaultData key under the instance hive points to a valid directory.
Error code: 0x851A0043
The User Log directory in the registry is not valid. Verify DefaultLog key under the instance hive points to a valid directory.
Error code: 0x851A0044
Error installing SQL Server Database Engine Services Instance Features. The Database Engine system data directory in the registry is not valid.

問題が発生すると、SQL Server セットアップ ログ ファイル Summary.txt には、次のいずれかのメッセージが表示されます。

Detailed results:
  Feature:                       Database Engine Services
  Status:                        Failed: see logs for details
  Reason for failure:            An error occurred during the setup process of the feature.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                SQL Server Database Engine Services Instance Features
  Component error code:          0x851A0043
  Error description:             The User Data directory in the registry is not valid. Verify DefaultData key under the instance hive points to a valid directory.
  Error help link:               http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.7001.0&EvtType=0xD8FB5EBA%400x97A656BB%401306%4067&EvtType=0xD8FB5EBA%400x97A656BB%401306%4067
Detailed results:
  Feature:                       Database Engine Services
  Status:                        Failed: see logs for details
  Reason for failure:            An error occurred during the setup process of the feature.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                SQL Server Database Engine Services Instance Features
  Component error code:          0x851A0044
  Error description:             The User Log directory in the registry is not valid. Verify DefaultLog key under the instance hive points to a valid directory.
  Error help link:               http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.7001.0&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068

原因

この問題は、データベースの新しいデータ ファイルまたはログ ファイルの既定の場所が無効な場所を指している場合に発生します。 この問題の原因となる一般的なシナリオは次のとおりです。

解決方法

次の手順に従って問題を解決します。

手順 1: 既定のデータ ディレクトリとログ ディレクトリの有効なフォルダー パスを修正する

SQL Server Management Studio またはレジストリ エディターを使用して、既定のデータ ディレクトリとログ ディレクトリの値を有効なフォルダー パスに設定できます。

方法 1: SQL Server Management Studio (SSMS) とSQL Server 構成マネージャーを使用する
  1. SSMS で、オブジェクト エクスプローラーを開き、サーバー インスタンスを右クリックし、Properties を選択します。
  2. 左側のパネルで、 Database 設定 ページを選択します。
  3. [データベースの既定の場所] パネルに、新しいデータ ファイルと新しいログ ファイルの現在の既定の場所が表示されます。
  4. 既定の場所を変更するには、 Data または Log フィールドに新しい既定のパス名を入力するか、参照ボタンを選択してパス名を検索して選択します。
  5. SQL Server 構成マネージャーを開き、 [SQL Server のサービス] をクリックします。
  6. インスタンスをダブルクリックし、 [Advanced ] タブを選択します。
  7. Data Path プロパティを確認し、値が正しいかどうかを確認します。 値は淡色表示され、ここから変更することはできません。
  8. 値が正しくない場合は、 Method 2 を使用して正しいパスに更新します。
方法 2: レジストリ エディターを使用する

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリの変更の方法を誤った場合、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。

  1. コマンド ラインからレジストリ エディター (Regedit.exe) を起動します。

  2. レジストリ サブキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL{nn}.Instance\MSSQLServerを見つけて選択します。

    Note

    このレジストリ サブキーでは、 MSSQL{nn}.Instance はシステムの対応する値を表します。 この値を取得するには、レジストリ サブキー ( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\) を見つけて選択します。

  3. 右側のパネルで、 DefaultData レジストリ エントリを選択し、正しくない場所を指している場合は、有効なパスを入力します。

  4. 右側のパネルで、 DefaultLog レジストリ エントリを選択し、正しくない場所を指している場合は、有効なパスを入力します。

  5. レジストリ サブキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL{nn}.Instance\Setupを見つけて選択します。

  6. 右側のパネルで、 SQLDataRoot レジストリ エントリを選択し、正しくない場所を指している場合は有効なパスを入力します。

手順 2: Service Pack または累積的な更新プログラムのインストールを再試行する

影響を受けるインスタンスのデータ パスとログ パスを修正したら、インストールを再試行できます。

セットアップ プログラムでは、インスタンスが既にアップグレード済みであり、Database Services コンポーネントのみを選択できない場合があります。 セットアップ プログラムを続行するには、そのインスタンスのすべての機能を選択する必要があります。

関連情報

SQL Server セットアップ ログ ファイルの表示と読み取り