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

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

重要

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

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

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

    注:

    このレジストリ サブキーでは、 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