いくつかまたはすべての SQL Server 2005 サービスが SQL Server 構成マネージャーで、表示されない、または SQL Server 2005 セキュリティ構成の操作を実行するときに「SQL Server 2005 コンポーネントは検出されませんでした」エラー メッセージが表示されます。

現象

、Microsoft SQL Server 2005 では、SQL Server 構成マネージャーを開きます。SQL Server 構成マネージャー] ウィンドウで発生する以下の問題のいずれかのSQL Server 2005 のサービス] をクリックすると。
  • サービスが一覧表示されません。
  • いくつかのサービスには表示されません。
操作を実行するには、SQL Server 2005 セキュリティ構成] ウィンドウで、次のエラー メッセージが表示されます。
指定したコンピューター上の SQL Server 2005 コンポーネントが見つかりませんでした。コンポーネントがインストールされていないか、このコンピューターに、管理者ではありません。(SQLSAC)

原因

この問題は、ネットワーク サービス アカウントが SQL Server 2005 サービスに関する情報を照会できるアクセス許可を持たないために発生します。

この問題は、SQL Server 2005 サービスのセキュリティ設定を更新するのにはいくつかのセキュリティ ポリシーを適用した後に発生する可能性があります。具体的には、セキュリティ設定を更新するグループ ポリシーを適用した後に、この問題が発生する可能性があります。

解決策

この問題を解決するには、ネットワーク サービス アカウントが SQL Server 2005 サービスに関する情報を照会するのには読み取りアクセス許可を持っているを確認します。これを行うには、以下の手順を実行します。
  1. SQL Server がインストールされているサーバーでセッションを開きます。ドメイン管理者グループの一部である Windows アカウントを使用してセッションを開きます。
  2. ダウンロードし、コンソールがインストールされていない場合、グループ ポリシー管理コンソールをインストールします。
  3. グループ ポリシー管理コンソールを開きます。次に、SQL Server が配置されている組織単位を選択します。
  4. 新しいグループ ポリシー オブジェクトを作成または、この組織単位に関連付けられている既存のグループ ポリシー オブジェクトを編集します。既存のグループ ポリシー オブジェクトを編集して、ポリシー オブジェクトを右クリックし、[編集] を選択します。新しいグループ ポリシー オブジェクト エディター Microsoft 管理コンソール (MMC) が表示されます。
  5. [サービス名] 列で、 SQL Server (Instance_Name)をダブルクリックします。
  6. (Instance_Name) の SQL Server のプロパティ] ダイアログ ボックスでは、このポリシー設定を定義する] チェック ボックスをオンに、適切なスタートアップ ・ モードを選択し、[セキュリティの編集] をクリックするをクリックします。
  7. (Instance_Name) の SQL Server のセキュリティ] ダイアログ ボックスで、[グループ名またはユーザー名の下にあるネットワーク サービスをクリックします。

    注: ネットワーク サービス アカウントが一覧にない場合は、この手順を実行する前にアカウントを追加します。
  8. で [ネットワーク サービスのアクセス許可を [許可] 列で、[読み取り] チェック ボックスを選択する] をクリックし、[ OK] をクリックします。
  9. 手順 5 ~ 9 その他の SQL Server 2005 サービスのネットワーク サービス アカウントに読み取りアクセス許可を追加するのには.

詳細

あるこの問題を回避することをお勧めします。セキュリティ ポリシーを適用すると、常に SQL Server 2005 サービスの既定の随意アクセス制御リスト (DACL) が変更されていないことを確認します。アカウントまたはサービスの情報を照会するアクセス許可を持つグループの場合、SQL Server 2005 サービスのセキュリティの設定をアカウントまたはグループを追加できます。

既定の DACL を SQL Server 2005 サービスに関する情報を抽出するコマンド プロンプトで次のコマンドを実行できます。
sc \\[servername] sdshow  SQLService_Name 
SQL Server 構成マネージャー ツールまたは SQL Server 2005 セキュリティ構成ツールを実行すると、内部的にこれらのツール、「 ManagedComputerの SQL Server 管理オブジェクト (SMO) クラス インスタンスを作成します。これらのツールは、SQL Server 2005 サービスに関する情報を取得するサービスのコレクションを反復処理します。これらのツールは、サービス コレクションを反復処理する、これらのツールは、次の Windows 管理インストルメンテーション (WMI) クエリを生成します。
  • 選択 * RegServices から
  • 選択 * SqlService から
これらのツールは、WMI クエリを生成するときに SQL Server Web-Based エンタープライズ管理 (WBEM) プロバイダー (Sqlmgmprovider.dll) は、Wmiprvse.exe プロセスに読み込まれます。WBEM の SQL Server プロバイダーを抽出し、SQL Server 2005 のすべてのインスタンスのサービスに関する情報を処理します。情報は、次の SQL Server 2005 サービスについてです。
  • SQL Server データベース エンジン サービス
  • SQL Server 2005 Reporting Services サービス
  • SQL Server 2005 フルテキスト検索サービス
  • SQL Server 2005 エージェント サービス
  • SQL Server 2005 の統合サービスのサービス
  • SQL Server 2005 Analysis Services サービス
最後に、 ManagedComputer SMO オブジェクトは、これらのツールを SQL Server 2005 サービスの一覧を返します。

Sqlmgmprovider.dll ファイルが読み込まれる、Wmiprvse.exe プロセスでは、ネットワーク サービス アカウントのセキュリティ コンテキストで実行されます。Wmiprvse.exe プロセスでは、スレッドは、Sqlmgmprovider.dll ファイル内のコードを実行します。これらのツールを実行すると、Wmiprvse.exe プロセスでは、このスレッドは、これらのツールを実行してユーザーのセキュリティ コンテキストを偽装します。



さらに、いくつかの SQL Server 2005 サービスに関する情報がネットワーク サービス アカウントのセキュリティ コンテキストの下でも抽出されます。ネットワーク サービス アカウントにサービス情報を抽出するのには十分なアクセス許可がある場合は、SQL Server 2005 サービスに関する情報は以前に記載されている WMI クエリの結果セット内に存在します。したがって、 ManagedComputer SMO オブジェクトを返します空のリスト、または SQL Server 2005 サービスの一覧の一部をこれらのツールです。

関連情報

ManagedComputerクラスの詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。QueryServiceConfig関数の詳細については、次の MSDN Web サイトを参照してください。WMI の詳細については、次の MSDN Web サイトを参照してください。
プロパティ

文書番号:941823 - 最終更新日: 2017/02/02 - リビジョン: 1

フィードバック