解決済み: 同期操作の問題とタイムアウトWindows Server Update Services

適用先
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows 11 version 26H1, all editions Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

元の発行日: 2026 年 7 月 20 日
KB ID: 5121986

概要

Microsoft は、公開されたテスト検出用のWindows Server Update Services (WSUS) チャネルへのビルドアップによるサービスの低下を特定しました。 この問題に関連付けられている detectoid は、次のような名前付けパターンで識別できます。

  • ProductName TestProduct% の Product Detectoid

たとえば、問題の detectoid は次のようになります。

  • ProductName TestProduct1272ad5c-e150-4370-b18d-7b940bd0e518 用 Product Detectoid

組織では、WSUS サーバーで同期時間の増加や同期操作のタイムアウトが発生する可能性があります。 この問題は最近始まり、2026 年 7 月 13 日から影響が高まりました。

Microsoft は、2026 年 7 月 18 日にこの問題の軽減策を展開しました。 WSUS サーバーでの同期時間と同期操作が復元され、新しい WSUS のインストールと再構築に対して正常に動作しています。 この軽減策により、新しくインストールまたは再構築された WSUS サーバーでこの問題が発生するのを防ぐことができます。

クライアント コンピューターでは、ビルドアップによって、Windows Update スキャンが失敗したりタイムアウトしたりする可能性もあります。影響を受けるクライアントは、次のようなエラーをログに記録する可能性があります。

エラー 意味 意味する内容
0x80244010 WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS スキャンが WSUS へのラウンド トリップの最大数を超えました。 これが重要な症状です。
0x8024400E
0x80244007
WU_E_PT_SOAP_SERVER
WU_E_PT_SOAPCLIENT_SOAPFAULT
サーバーが要求の処理をタイムアウトしたか、クライアントから WSUS が拒否したサイズの大きいデータセットが送信されました。
0x80244022
HTTP 503
サービスは利用できません WSUS アプリケーション プール (WsusPool) がオーバーロードされています。
0x80240439 WU_E_PT_INVALID_FORMAT 異常な IIS エラーを生成するサイズの大きいクライアントまたはサーバー データセット。
0x80072EE2 WININET タイムアウト スキャンが長すぎてタイムアウトしました。

解決策

この問題の影響を受ける WSUS サーバーの場合は、次の手順を実行して WSUS サーバーを通常の機能に戻することをお勧めします。

手順 1: SUSDB をバックアップする

重要

開始する前に、各 SUSDB データベースをバックアップします。 クリーンアップによって更新メタデータが完全に削除され、バックアップなしでは元に戻すことはできません。

BACKUP DATABASE SUSDB 
TO DISK = N'<C:\Backup folder>\SUSDB_PreDetectoidCleanup.bak' 
WITH INIT, STATS = 5; 

バックアップの作成については、「 データベースの完全バックアップを作成する」を参照してください。

手順 2: クリーンアップ クエリを実行する

このクエリでは、WSUS システムから誤って発行された detectoid が削除されます。 また、MaxXMLPerRequest の値を 0 に設定します (5 MB の制限を排除するため)。 これは、同期を実行するときに WSUS への最大ラウンド トリップを超えたためにクライアントがスキャンに失敗する問題を軽減するのに役立ちます。

重要

このクエリは、WSUS レプリカを含むすべての SUSDB データベースに対して SQL Management Studio から実行する必要があります。 削除は WSUS サーバー間で伝達されないため、すべてのサーバー カタログを直接クリーンアップする必要があります。 クリーンアップされていないダウンストリーム サーバーに報告するクライアントには、検出用の問題が引き続き表示されます。

SET NOCOUNT ON; 

UPDATE tbConfigurationC SET MaxXMLPerRequest = 0  --Update the MaxXMLPerRequest to lift the limit 

DECLARE @updateID uniqueidentifier; 
DECLARE @retcode  int; 
DECLARE @deleted  int = 0; 
DECLARE @skipped  int = 0; 

DECLARE detectoid_cur CURSOR LOCAL FAST_FORWARD FOR 
    SELECT u.UpdateID 
    FROM dbo.tbUpdate u 
    JOIN dbo.tbRevision r ON r.LocalUpdateID = u.LocalUpdateID AND r.IsLatestRevision = 1 
    JOIN dbo.tbProperty p ON p.RevisionID = r.RevisionID 
    JOIN dbo.tbLocalizedPropertyForRevision tbrp ON tbrp.RevisionID = r.RevisionID 
    JOIN dbo.tbLocalizedProperty tlp ON tlp.LocalizedPropertyID = tbrp.LocalizedPropertyID 
    WHERE p.UpdateType = 'Detectoid' 
      AND tbrp.LanguageID = p.DefaultPropertiesLanguageID 
      AND tlp.Title LIKE 'Product Detectoid for ProductName TestProduct%'; 

OPEN detectoid_cur; 
FETCH NEXT FROM detectoid_cur INTO @updateID; 

WHILE @@FETCH_STATUS = 0 
BEGIN 
    BEGIN TRY 
        EXEC @retcode = dbo.spDeleteUpdateByUpdateID @updateID; 
        IF @retcode = 0 SET @deleted += 1; ELSE SET @skipped += 1; 
    END TRY 
    BEGIN CATCH 
        -- Most common: "still referenced by other update(s)" - safe to skip and continue 
        SET @skipped += 1; 
        PRINT CONCAT('Skipped ', CONVERT(varchar(40), @updateID), ' : ', ERROR_MESSAGE()); 
    END CATCH 

    FETCH NEXT FROM detectoid_cur INTO @updateID; 
END 

CLOSE detectoid_cur; 
DEALLOCATE detectoid_cur; 

注

IIS の WSUS 管理サイトの最大同時接続の設定を制限し、クライアントがスキャンを完了できるように徐々に接続を上げる必要がある場合があります。 ターゲットは、IIS の CPU 使用率を約 80% に抑える必要があります。 詳細については、「 Web サイトの制限」を参照してください。

手順 3: MaxXMLPerRequest を更新する

WSUS が安定し、クライアントが正常にスキャンされたら、次のクエリを実行して 、MaxXMLPerRequest 値を既定の設定に更新する必要があります。

UPDATE tbConfigurationC SET MaxXMLPerRequest = 5242880

クリーンアップを実行した後

  • クライアントの回復が自動的に行われる クリーンアップ後の各クライアントでの最初のスキャンでは、1 回限りのキャッチアップが実行され、通常よりも時間がかかる場合があります。 後でスキャンすると、通常のタイミングに戻ります。 個々のクライアントに対してアクションは必要ありません。

  • クライアントで修正プログラムを確認する クライアントの WindowsUpdate.logでは、 evaluated appl. rules of X out of N deployed entities を読み取るスキャン エントリは、次のスキャンの後にはるかに低い N を表示する必要があります。 detectoid ID のWindowsUpdate.log 検索では一致が返されないため、deployed-entities カウントを使用して救済を確認します。 WindowsUpdate.log ファイルを作成するには、「 WindowsUpdate.logの生成」を参照してください。

  • サーバーを維持する 大きな削除では、SUSDB インデックスがフラグメント化されます。 クリーンアップ後、SUSDB のインデックスを再作成し、WSUS サーバー クリーンアップ ウィザードを実行し、IISReset を実行するか、WsusPool アプリケーション プールをリサイクルして、キャッシュされたカタログの状態をクリアします。

  • ディスク領域 クライアント側 の DataStore.edb は、detectoid が削除された後に自動的に縮小されません。 これは予想され、スキャンのパフォーマンスには影響しません。

参考資料

WSUS と Configuration Manager SUP メンテナンスに関する完全なガイド。