この記事は、SQL Server Reporting Services (SSRS) を起動するときにイベント ID 7000、7009、1530 がログに記録されるタイムアウト エラーと問題を解決するのに役立ちます。
元の製品バージョン: SQL Server
元の KB 番号: 2745448
現象
SSRS を実行しているコンピューターで2677070Microsoft サポート技術情報 (KB) の記事に記載されている更新プログラムを適用するとします。 SSRS を起動しようとすると、タイムアウト エラーが発生し、イベント ID 7000 とイベント ID 7009 がアプリケーション ログに記録されます。
さらに、イベント ID 1530 がログに記録され、次のような情報がアプリケーション ログに記録されます。
Note
プレースホルダー <Event Time> は、イベントが発生した時刻を表します。 プレースホルダー <SSRS サーバー名> SSRS サーバー名を表します。
原因
この問題は、信頼された証明書信頼リストと信頼されていない証明書信頼リスト (CTL) を取得できないために発生します。 システムがインターネットに接続されていないか、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
グループ ポリシーの設定を変更します。 これを行うには、次の手順を実行します。
- ローカル グループ ポリシー エディターの [ Computer 構成 ノードで、 Policies をダブルクリックします。
- Windows の設定をダブルクリックし、[ セキュリティ設定をダブルクリックし、 キー ポリシーをダブルクリックします。
- 詳細ウィンドウで、 Certificate パス検証設定をダブルクリックします。
- [ Network の取得 ] タブを選択し、[ これらのポリシー設定を定義する ] チェック ボックスをオンにし、[ Microsoft ルート証明書プログラム (推奨) で証明書を自動的に更新する) チェック ボックス をオフにします。
- OK を選択し、ローカル グループ ポリシー エディターを閉じます。
方法 3
レジストリを変更します。 これを行うには、以下の手順を実行します。
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、Windows のレジストリのバックアップおよび復元の方法を参照してください。
Startを選択し、Run を選択し、[Open] ボックスに「regedit」と入力して、[OK] をクリックします。
次のレジストリ サブキーを見つけてクリックします。
HKLM\Software\Policies\Microsoft\SystemCertificates.AuthRoot を右クリックし、 New を選択し、 DWORD をクリックします。
「 DisableRootAutoUpdate」と入力し、Enter キーを押します。
DisableRootAutoUpdate を右クリックし、 Modify をクリックします。
[値のデータ] ボックスに「1」と入力し、[OK] をクリックします。
[ファイル] メニューの [終了] をクリックします。
方法 4
既定のサービス タイムアウトを増やします。
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、Windows のレジストリのバックアップおよび復元の方法を参照してください。
既定のサービス タイムアウトを増やすには、次の手順に従います。
[開始] をクリックし、[実行] をクリックし、[開く] ボックスに「regedit」と入力し、OK をクリックします。
次のレジストリ サブキーを見つけて選択します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control。Control を右クリックし、New をポイントし、[DWORD] をクリック。
[ 新しい値 ボックスに「 ServicesPipeTimeout」と入力し、Enter キーを押します。
ServicesPipeTimeout を右クリックして、[修正] をクリックします。
Decimalをクリックし、サービスがタイムアウトするまで待機するミリ秒数を入力し、OK をクリックします。 たとえば、サービスがタイムアウトするまで 60 秒待つには、「60000」と入力します。
File メニューの Exit をクリックし、コンピューターを再起動します。
詳細
Windows ルート証明書プログラム、証明書、証明書信頼、および証明書信頼リストの詳細については、「Microsoft サポート技術情報: an-automatic-updater-of-untrusted-certificates-is-available-for-window」の記事の「詳細情報」セクションを参照してください。