KB 2677070で説明されている更新プログラムを適用した後、SQL Server Reporting Servicesを開始することはできません

この記事では、タイムアウト エラーと、SQL Server Reporting Services (SSRS) を開始するときにイベント ID 7000、7009、1530 がログに記録される問題を解決するのに役立ちます。

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

現象

SSRS を実行しているコンピューターに2677070 Microsoft サポート技術情報 (KB) の記事 に記載されている更新プログラムを適用することを想定しています。 SSRS を開始しようとすると、タイムアウト エラーが発生し、イベント ID 7000 とイベント ID 7009 がアプリケーション ログに記録されます。

さらに、イベント ID 1530 がログに記録され、次のような情報がアプリケーション ログに記録されます。

注:

プレースホルダー <のイベント時刻> は、イベントが発生した時刻を表します。 プレースホルダー <SSRS サーバー名> は、SSRS サーバー名を表します。

原因

この問題は、信頼された証明書信頼リストと信頼されていない証明書信頼リスト (CCTL) を取得できないために発生します。 システムがインターネットに接続されていないため、またはファイアウォール規則によってWindows Updateがブロックされているために、システムがWindows Updateにアクセスできない場合は、サービスが起動手順を続行する前にネットワーク取得がタイムアウトします。 場合によっては、このネットワーク取得タイムアウトが 30 秒のサービス起動タイムアウトを超える場合があります。 30 秒後にスタートアップが完了したことをサービスが報告できない場合、サービス制御マネージャー (SCM) はサービスを停止します。

この更新プログラムで CTL を更新する URL が変更されました。 したがって、以前の URL がファイアウォールまたはプロキシの例外としてハードコーディングされていた場合、またはコンピューターにインターネット アクセスがない場合は、CTL を更新できません。

最新の CCTL をダウンロードするには、次の更新された URL を使用します。

回避策

この問題を回避するには、ネットワークが信頼できる信頼されていない CCTL を取得しないようにコンピューターを構成します。 これを行うには、次のいずれかの方法を使用します。

  • 方法 1

    境界ファイアウォール、ルーター アクセス規則、またはダウンストリーム プロキシ サーバーによって、更新プログラムがインストールされているシステムが Microsoft Update に接続2677070許可されていることを検証します。 この要件の詳細については、「失効した証明書の自動更新プログラムは、Windows Vista、Windows Server 2008、Windows 7、および Windows Server 2008 R2 で使用できます (これには、CTL 更新プログラムがアクセスする URL が含まれます)。

  • 方法 2

    グループ ポリシー設定を変更します。 これを行うには、次の手順を実行します。

    1. ローカル グループ ポリシー エディターの [コンピューターの構成] ノードで、[ポリシー] をダブルクリックします。
    2. [Windows の設定] をダブルクリックし、[セキュリティ設定] をダブルクリックし、[公開キー ポリシー] をダブルクリックします。
    3. 詳細ウィンドウで、[ 証明書パスの検証設定] をダブルクリックします。
    4. [ネットワークの取得] タブをクリックして [これらのポリシー設定のチェックを定義する] ボックスを選択し、[Microsoft ルート証明書プログラム (推奨)] チェック ボックスの [証明書の自動更新] をオフにします。
    5. [OK] を選択し、[ローカル] グループ ポリシー エディターを閉じます。
  • 方法 3

    レジストリを変更します。 それには、以下の手順を実行します。

    重要

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

    1. [スタート] を選択し、[実行] を選択し、[開く] ボックスに「regedit」と入力し、[OK] をクリックします

    2. 次のレジストリ サブキーを見つけてクリックします。

      HKLM\Software\Policies\Microsoft\SystemCertificates.

    3. [AuthRoot] を右クリックし、[ 新規] を選択し、[ DWORD] をクリックします。

    4. 「DisableRootAutoUpdate」と入力し、Enter キーを押します。

    5. DisableRootAutoUpdate を右クリックし、[変更] をクリックします。

    6. [ データ] ボックスに「 1」と入力し、[ OK] をクリックします。

    7. [ファイル] メニューの [終了] をクリックします。

  • 方法 4

    既定のサービスタイムアウトを増やします。

    重要

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

    既定のサービスタイムアウトを増やすには、次の手順に従います。

    1. [スタート][ファイル名を指定して実行] の順にクリックし、[名前] ボックスに「regedit」と入力し、[OK] をクリックします。

    2. 次のレジストリ サブキーを見つけて選択します。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

    3. [ コントロール] を右クリックし、[ 新規] をポイントし、[ DWORD] をクリックします。

    4. [ 新しい値 ] ボックスに「 ServicesPipeTimeout」と入力し、Enter キーを押します。

    5. [ServicesPipeTimeout] を右クリックし、[変更] をクリックします。

    6. [ Decimal] をクリックし、サービスがタイムアウトするまで待機するミリ秒数を入力し、[OK] をクリック します。 たとえば、サービスがタイムアウトになるまで 60 秒待つには、「60000」と入力します。

    7. [ ファイル ] メニューの [ 終了] をクリックし、コンピューターを再起動します。

詳細

Windows ルート証明書プログラム、証明書、証明書信頼、および証明書信頼リストの詳細については、「Microsoft サポート技術情報: An-automatic-updater-of-trusted-certificates-is-available-for-window」の記事の「詳細情報」セクションを参照してください。