SQL Server のビルドが 3179 以降である場合に SQL Server 2005 のフェールオーバー クラスターの SQL Server エージェント サービスを開始できない

文書番号: 943525 - 対象製品
重要 この資料には、レジストリの編集方法が記載されています。レジストリを変更する前に必ずレジストリのバックアップを作成してください。問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。レジストリのバックアップ、復元、および編集方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows XP でレジストリをバックアップおよび復元する方法
すべて展開する | すべて折りたたむ

目次

現象

次のような状況を考えます。
  • Microsoft SQL Server 2005 のフェールオーバー クラスターをインストールして構成する。
  • SQL Server 2005 のビルドが 3179 以降である。
  • SQL Server エージェント サービスの開始アカウントがドメイン管理者のユーザー アカウントである。
この場合、SQL Server エージェント サービスを開始できません。また、SQL Server エージェントのログ (SQLAGENT.OUT) に次のエラー メッセージが記録されます。
2007-10-10 10:46:24 - ! [298] SQLServer エラー: 22022, CryptUnprotectData() がエラー -2146892987、'要求された操作を完了できませんでした。コンピューターが委任に対して信頼されていて、現在のユーザー アカウントが委任を許可するよう構成されている必要があります。' を返しました [SQLSTATE 42000]
2007-10-10 10:46:24 - ! [442] ConnConnectAndSetCryptoForXpstar に失敗しました (0)。
: SQLAGENT.OUT ファイルは以下のフォルダーにあります。
%ProgramFiles%\Microsoft SQL Server\MSSQL.Instance_Number\MSSQL\LOG

原因

この問題は、SQL Server エージェント サービスが SQL Server サービスに接続できないことが原因で発生します。

SQL Server エージェント サービスは、開始時に SQL Server サービスに接続します。SQL Server エージェント サービスは、SQL Server エージェント サービスに変更を通知するストアド プロシージャ xp_sqlagent_notify を実行しますが、その実行中に、暗号化 API の呼び出しに失敗します。そのため、SQL Server エージェント サービスは SQL Server サービスに接続できません。

解決方法

この問題の修正は、累積的な更新プログラム 9 で初めてリリースされました。SQL Server 2005 Service Pack 2 の累積的な更新プログラム パッケージの入手方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
953752 SQL Server 2005 Service Pack 2 の累積的な更新プログラム パッケージ 9 について
: ビルドは累積的であるため、新しくリリースされる修正プログラムには、以前にリリースされた SQL Server 2005 の修正プログラムに含まれていたすべての修正プログラムおよびセキュリティ修正プログラムが含まれています。マイクロソフトは、この修正プログラムが含まれている最新版の更新プログラム パッケージの適用を検討することを推奨します。関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
937137 SQL Server 2005 Service Pack 2 以降にリリースされた SQL Server 2005 のビルド
Microsoft SQL Server 2005 修正プログラムは、特定の SQL Server Service Pack 用に作成されます。SQL Server 2005 Service Pack 2 の修正プログラムは、SQL Server 2005 Service Pack 2 のインストールに適用する必要があります。既定では、ある SQL Server Service Pack で提供される修正プログラムはすべて、次の SQL Server Service Pack に含まれます。

回避策

この問題を回避するには、以下の各方法を考慮し、環境に最も適している方法を使用します。

方法 1

この問題を回避するには、SQL Server 2005 に接続し、作成されたすべてのジョブを実行するのに十分な資格情報を持つユーザー アカウントを使用してコンピューターにログオンします。たとえば、ローカルの Administrators グループのメンバであるユーザーとしてログオンします。次に、SQL Server エージェント サービスの開始アカウントをドメイン管理者以外のユーザー アカウントに変更します。ユーザー アカウントには適切な権限が付与されている必要があります。具体的には、ユーザーはローカルの Administrators グループのメンバである必要があります。

これを行うには、以下の手順を実行します。
  1. [スタート] ボタンをクリックして [すべてのプログラム] をポイントし、[Microsoft SQL Server 2005]、[構成ツール] の順にポイントして、[SQL Server Configuration Manager] をクリックします。
  2. [SQL Server 2005 のサービス] をクリックします。
  3. [SQL Server エージェント (Instance_Name)] を右クリックし、[プロパティ] をクリックします。
  4. [ログオン] タブをクリックし、ユーザーのログオン情報を入力し、[OK] をクリックします。
  5. [SQL Server エージェント (Instance_Name)] を右クリックし、[再起動] をクリックします。SQL Server エージェント サービスがまだ実行されていない場合、[SQL Server エージェント (Instance_Name)] を右クリックし、[開始] をクリックします。

方法 2

Active Directory ユーザーとコンピューター スナップインで、SQL Server サービス アカウントに委任時の信頼を付与します。

: SQL Server サービス アカウントに委任時の信頼を付与した後は、リソースを再起動する必要ありません。サービス アカウントに委任時の信頼を付与する方法の詳細については、次のマイクロソフト Web サイトを参照してください。
http://technet.microsoft.com/ja-jp/library/cc739474(WS.10).aspx

方法 3

名前付きパイプ プロトコルを使用して SQL Server エージェントを SQL Server サービスに接続するように構成します。これを行うには、各クラスター ノードで、以下の手順を実行します。
  1. SQL Server 構成マネージャーを開きます。
  2. SQL Server 構成マネージャーで、[SQL Native Client の構成] をクリックし、[別名] をクリックして、[新しい別名] をクリックします。
  3. [新しい別名] ダイアログ ボックスで、[プロトコル] 一覧の [名前付きパイプ] を選択します。
  4. [別名] ボックスで、別名を指定します。
  5. [サーバー] ボックスで SQL Server 2005 のインスタンスを指定して、[OK] をクリックします。
  6. SQL Server Management Studio を開き、SQL Server 2005 のインスタンスを接続します。
  7. [SQL Server エージェント] を右クリックし、[プロパティ] をクリックします。
  8. [SQL Server エージェントのプロパティ] ダイアログ ボックスで、[接続] をクリックします。
  9. [別名ローカル ホスト サーバー] ボックスに、手順 4. で指定した別名を入力し、[OK] をクリックします。
  10. SQL Server Management Studio で、[SQL Server エージェント] を右クリックし、[再起動] をクリックします。

名前付きパイプ プロトコルが有効でない場合は、名前付きパイプ プロトコルを有効にする必要があります。名前付きパイプ プロトコルを有効にする方法の詳細については、次のマイクロソフト Web サイトを参照してください。
http://msdn.microsoft.com/ja-jp/library/ms191294(SQL.90).aspx
SQL Server 2005 のインスタンスが名前付きパイプ上でリッスンするように構成されていない場合は、名前付きパイプ上でリッスンするようにインスタンスを構成する必要があります。詳細については、次のマイクロソフト Web サイトを参照してください。
http://msdn.microsoft.com/ja-jp/library/ms189321(SQL.90).aspx
: ユーザーが別名を追加した後、インスタンスにローカルに接続するすべてのクライアント アプリケーションは接続に名前付きパイプ プロトコルを使用します。

関連情報

SQL Server Service Pack 2 以降にリリースされたビルドの一覧を参照するには、以下のサポート技術情報番号をクリックしてください。
937137 SQL Server 2005 Service Pack 2 以降にリリースされた SQL Server 2005 のビルド
SQL Server の増分サービス モデルの関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
935897 報告された問題に対する修正プログラムを提供する SQL Server チームの増分サービス モデル (ISM) について
SQL Server 2005 Service Pack 2 の入手方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
913089 SQL Server 2005 の最新の Service Pack を入手する方法
SQL Server 2005 Service Pack 2 の新機能および機能強化の詳細については、次のマイクロソフト Web サイトを参照してください。
http://go.microsoft.com/fwlink/?LinkId=71711
SQL Server の更新プログラムの命名方式の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
822499 Microsoft SQL Server ソフトウェア更新プログラム パッケージの新しい命名方式
ソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明

プロパティ

文書番号: 943525 - 最終更新日: 2009年11月4日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
キーワード:?
kbexpertiseadvanced kbtshoot kbprb KB943525
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック