クライアント コンピューターが Windows ソフトウェア更新サービス (WSUS) サーバーに報告を返さない


現象


クライアント コンピューターが、Microsoft Windows ソフトウェア更新サービス (WSUS) サーバーにレポートを返さない。さらに、次の現象が発生する可能性があります。
  • クライアント コンピューターの Windowsupdate.log ログ ファイルには、次のエラーメッセージが記録されます。
    警告: hr = 80244008 でサーバーにイベントをアップロードできませんでした
  • WSUS サーバーの管理コンソールでは、Microsoft SQL Server タイムアウトのエラー メッセージが表示されます。
  • %Programfiles%\Microsoft Windows 更新プログラムの Services\LogFiles フォルダーに配置されている SoftwareDistribution.log ファイルには、次のようなメッセージが含まれています。
    <DATE>
    <TIME>
    UTC エラー w3wp.130DBConnection.LogSqlExceptionDBLAYER: エラー [0]: ソース .Net SqlClient データ プロバイダー、サーバー WSUS1N\WSUS AD OPC、数-2、クラス 10、状態 0、プロシージャの ConnectionRead (WrapperRead())、。
    行番号 0: タイムアウト期間が経過します。 操作の完了前にタイムアウト期間が経過したか、サーバーが応答していません。

原因


TbEventInstance テーブルでレポートのイベント数が 100 万行を超える場合に、この問題が発生します。

推奨ハードウェアを使用している WSUS サーバーは 22 時間の既定の検出サイクルを使用して 15,000 クライアントの最大数をサポートできます。TbEventInstance テーブルに追加されるレポートのイベントの数は、クライアントの数と検出サイクルごとに設定されている頻度によって異なります。クライアントがレポートを送信しようとすると、 tbEventInstance テーブルから行の自動削除が開始されます。TbEventInstance テーブルにあるレポートのイベントは、100万行を超える場合にのみ、自動削除プロセスが開始されます。

自動削除プロセスでは、非常に時間がかかるし、クライアント コンピューターから WSUS サーバーにレポートをブロックします。既定では、15 日よりも古いワークステーションでは 90 日間のサーバーよりも古いイベントを削除するのには WSUS が構成されています。WSUS では、12 時間おき 1,000 個のイベントのレートで古いイベントを削除します。

TbEventInstance テーブルに 100万行を超えているかどうかを判断する方法の詳細については、「関連情報」セクションを参照してください。

解決策


修正プログラムの情報

サポートされている修正プログラムは、マイクロソフトから入手可能です。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この問題が発生しているシステムにのみ適用してください。

修正プログラムをダウンロードできる場合は、このサポート技術情報の資料の上部に「修正プログラムのダウンロード」セクションがあります。このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにリクエストを送信し、修正プログラムを入手してください。

注: さらなる問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストの作成が必要な場合があります。この修正プログラムの対象外の追加の質問および問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号または別のサービス リクエストを作成する、次のマイクロソフト Web サイトを参照してください。注: [修正プログラムのダウンロード] フォームには、修正プログラムが提供されている言語が表示されます。お使いの言語が表示されない場合は、その言語の修正プログラムが利用できないためです。

必要条件

前提条件が必要ではありません。

再起動の必要性

この修正プログラムの適用後にコンピュータを再起動する必要はありません。

修正プログラムの置き換えに関する情報

この修正プログラムによって他の修正プログラムが置き換わることはありません。

ファイル情報

修正プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時間の時差を確認するには、コントロール パネルの [日付と時刻] で、[タイム ゾーン] タブを使用します。
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
Eventinstancesfix.dll該当なし41,27207-Nov-200511:36x86
Eventinstancesfix.sql該当なし14,44201-Nov-200510:42該当なし
Runeventinstancesfix.vbs該当なし1,43308-Nov-200512:16該当なし

回避策


この問題を回避するには、検出サイクルを許容範囲内にある値に変更します。グループ ポリシーを使用すると、各検出サイクルを 1 時間から 22 時間までの時間を操作できます。などに変更した場合、検出サイクル頻度、デフォルトから 22 時間 11 時間、7,500 クライアントを WSUS サーバーがサポートできるクライアントの数が減少します。

クライアント コンピューターの操作を行いますが報告されない場合戻す WSUS サーバーに、検出サイクル頻度を変更した後、tbEventInstance テーブルから現在のすべてのイベントを削除する必要があります。これを行うには、SQL クエリ アナライザーで次のコマンドを実行します。
TRUNCATE TABLE dbo.tbEventInstance
さらに、自動削除プロセスを停止して、削除処理の頻度を増やします。 削除処理の頻度を高くと後、WSUS は小さいチャンク内の行を削除しますが、tbEventInstance テーブルのサイズを維持します。

自動削除プロセスを停止するには、1 時間に、削除処理の頻度を設定するのには、SQL クエリ アナライザーで次のコマンドを実行します。
更新 dbo.tbConfigurationB セット AutoPurgeDetectionPeriod = 1
このコマンドは、1 時間ごとに削除処理を実行します。このコマンドを実行した後、WSUS は、1 日 1 時間あたり 1,000 個のイベントの割合で 24,000 のイベントを削除します。これは、削除処理の設定可能な最高周波数です。

自動削除を適切な頻度と正しく検出サイクルの間隔を計算するには、WSUS のクライアントの数を知る必要があります。

削除プロセスの最小周波数と、検出サイクル頻度を計算するのにには、次の数式を使用します。
最小の削除処理の頻度: (24 DF) CL x
検出サイクル頻度: (CL/PF) x 24
注: DF は、検出サイクル頻度、CL では、WSUS のクライアントの数、および PF は、パージの最小周波数。

たとえば、4,000 WSUS クライアントがない場合や、1 日あたり 8 サイクルに、検出サイクル頻度を設定する場合は、約 32,000 イベントを tbEventInstance テーブルに記録できます。1 日あたりの削除プロセスによって削除できるイベントの最大数は、1 時間に削除の頻度を設定するときに 24,000 イベントです。したがって、クライアントによって生成されるイベントの数が 24,000 未満になるように、検出サイクル頻度を減らすことができます。

状況


マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細


TbEventInstance テーブルに 100万行を超えているかどうかを確認する方法

  1. SQL クエリ アナライザーを起動し、ローカル サーバーに接続します。
  2. データベース] ボックスの一覧では、 SUSDBをクリックします。
  3. クエリ ウィンドウで次の SQL クエリを貼り付けます。
    select count(*) from tbEventInstance
  4. クエリを実行するクエリの実行] をクリックします。
Microsoft SQL Server Desktop Engine (Windows) (WMSDE) を実行している場合は、 tbEventInstanceテーブルに 100万行を超えているかどうかを確認するのには、 osqlコマンドを使用することもできます。これを行うには、コマンド プロンプトで次のコマンドを入力し、ENTER キーを押します。
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。
824684マイクロソフトのソフトウェア更新プログラムを記述するために使用される一般的な用語説明