この記事では、クラスター管理者からリソースを削除するときに、SQL Server クラスター リソースのリソース固有のレジストリ キーを手動で再作成する方法について説明します。
元の製品バージョン: Microsoft SQL Server
元の KB 番号: 810056
まとめ
SQL Server 関連のクラスター リソース (SQL Server、SQL Server エージェント、フルテキスト検索) には、リソースをオンラインにするために存在する必要があるリソース固有のレジストリ キーがすべて含まれています。 クラスター管理者からリソースを削除した場合は、リソースを手動で再作成できます。 この手順は、SQL Server に依存するリソースの追加にのみ使用できます。 SQL Server が依存するリソースには使用できません。 リソースを手動で追加するには、この記事の「 詳細情報 」セクションを参照してください。 これらの手順では、以前に SQL Server セットアップ プログラムを使用して、すべてのクラスター ファイルとコンポーネントを正常にインストールしていることを前提としています。 この手順では、セットアップ プログラムが新しいクラスターインストールで行うすべてのファイル、変更、またはレジストリ キーについては説明しません。
詳細
クラスター管理者が一覧表示する各リソースには、HKLM\Cluster\Resources\GUIDのHKEY_LOCAL_MACHINE (HKLM)の下にあるレジストリ キーがあります。 GUID は、リソースを追加するときに作成され、コンピューターによって異なります。 各キーには、クラスター管理者が表示するリソース名を含む Name 値が含まれています。 各リソース キーの下には Parameters サブキーがあり、リソースはリソース固有のパラメーター情報を格納できます。
SQL Server、SQL Server エージェント、フルテキスト検索の各ストア情報は、この Parameters サブキーに格納されます。 情報が見つからない場合、リソースをオンラインにしようとすると、次のようなエラーがクラスター ログ ファイルに記録されます。
SQL Server: [sqsrvres] 'VirtualServerName' プロパティを読み取ることができません。 エラー: d.
Microsoft Search Service Instance フルテキスト検索: インスタンスのフルテキスト検索のオンライン操作中にエラーが発生しました: 80070002 - 指定されたファイルが見つかりません。
リソースを手動で再作成する
クラスター管理者でリソースを手動で再作成するには、リソースを表すキーの下に次のレジストリ値を追加する必要があります。
SQL サーバー
名前: InstanceName
型: REG_SZ
値: 仮想サーバーが表す SQL Server のインスタンスの名前。 既定のインスタンスを使用するには、MSSQLSERVER を使用します。
名前: VirtualServerName
型: REG_SZ
値: サーバーに割り当てた仮想サーバー名
SQL Server エージェント
名前: InstanceName
型: REG_SZ
値: 仮想サーバーが表す SQL Server のインスタンスの名前。 既定のインスタンスを使用するには、MSSQLSERVER を使用します。
名前: VirtualServerName
型: REG_SZ
値: サーバーに割り当てられた仮想サーバー名
フルテキスト検索
名前: ApplicationName
型: REG_SZ
値: SQL Server$instance_name。ここでinstance_name使用する SQL Server のインスタンスです。 既定のインスタンスを使用するには、 SQLServer を使用します。
名前: ApplicationPath
型: REG_SZ
値: フルテキスト データ ファイルを含むフォルダーへの完全なパス。 通常、これは既定のインスタンスの場合は \MSSQL\FTDATA、名前付きインスタンスの場合は MSSQL$instancename\FTDATA にあります。
Cluster.exe ユーティリティを使用してレジストリ キーを追加する
重要
このメソッドは、重大な状況でのみ使用できます。 たとえば、SQL Server のインスタンスを起動できない場合に、このメソッドを使用できます。 ただし、セットアップ プログラムを使用して仮想サーバーを再作成できます。
Cluster.exe ユーティリティを使用して、レジストリ キーを追加できます。 これを行うには、コマンド プロンプトで次のコマンドのようなコマンドを実行する必要があります。
cluster res "ResourceName" /priv KeyName = KeyValue:STR
Note
- ResourceNameは、適切な SQL Server リソース、SQL Server エージェント リソース、またはフルテキスト検索リソースの名前に置き換える必要があります。
- KeyNameを適切なレジストリ キー名に置き換える必要があります。 たとえば、InstanceName と VirtualServerName はレジストリ キー名です。
- KeyValueをキーの適切な値に置き換える必要があります。 InstanceName レジストリ キーの場合、仮想サーバーが表す SQL Server のインスタンスの名前をキー値に割り当てることができます。 既定のインスタンスのインスタンスの名前として MSSQLSERVER を使用できます。