軟體更新維護

適用於:Configuration Manager (目前的分支)

您可以從「軟體更新點元件」屬性中排程和執行 Configuration Manager 主控台的 WSUS 清理工作。 當您第一次選取執行 WSUS 清理工作時,它將在下一次軟體更新同步之後執行。

排程和執行 WSUS 清理作業

執行下列步驟,排程 WSUS 清理作業:

  1. 在 Configuration Manager 主控台中,瀏覽至 [系統管理>概觀>][站台設定>網站]。

  2. 選取 Configuration Manager 階層頂端的網站。

  3. 按一下 [設定] 群組中的 [設定站台元件],然後按一下 [軟體更新點] 以開啟 [軟體更新點元件屬性]。

  4. 檢閱 「取代」行為。 如果需要,請修改行為。

    取代行為螢幕擷取畫面

  5. 按一下 [ Supersedence Rules ] 索引標籤,選取 [執行 WSUS 清理精靈]。 在版本 1806 中,該選項已重新命名為 在同步後執行 WSUS 清理。

  6. 按一下 [確定 ] (如果您執行的是版本 1806) ,請按一下 [ 關閉 ]。

版本 1802 及更早版本中的 WSUS 清理行為

在 Configuration Manager 版本 1806 之前,WSUS 清理選項會執行以下項目:

  • 僅在頂級網站的 WSUS 伺服器上,WSUS 清理嚮導中的 [ 過期更新 ] 選項。

    WSUS 過期的更新清理螢幕擷取畫面

  • Configuration Manager 資料庫中的軟體更新設定項目每七天會進行一次清理,並從主控台中移除不需要的更新。

    • 如果目前已部署過期的更新,此清理不會從 Configuration Manager 主控台移除過期的更新。

頂級 WSUS 資料庫和環境中的所有其他 WSUS 資料庫仍需要進行額外維護。 如需詳細資訊和指示,請參閱 Microsoft WSUS 和 Configuration Manager SUP 維護的完整指南部落格文章。

從版本 1806 開始的 WSUS 清理行為

從版本 1806 開始,WSUS 清理選項在每次同步後發生,並執行以下清理項目:

  • CA 和主網站上 WSUS 伺服器的 [ 過期更新 ] 選項。
    • 次要站台的 WSUS 伺服器不會針對過期的更新執行 WSUS 清理。
  • Configuration Manager 會從其資料庫建置已取代更新的清單。 此清單是根據軟體更新點元件內容中的取代行為而定。
    • 符合取代行為準則的更新設定項目在 Configuration Manager 主控台中過期。
    • 在 WSUS 中,CAS 和主要網站的更新會遭到拒絕,但次要網站的更新則不會。
  • Configuration Manager 資料庫中的軟體更新設定項目每七天會進行一次清理,並從主控台中移除不需要的更新。
    • 如果目前已部署過期的更新,此清理不會從 Configuration Manager 主控台移除過期的更新。

注意事項

「被取代更新到期前需等待的月數」是以取代更新的建立日期為基礎。 例如,如果您為此設定使用 2 個月,則已取代的更新將在 WSUS 中被拒絕,並在取代更新 2 個月時在 Configuration Manager 中過期。

所有 WSUS 維護都需要在輔助網站 WSUS 資料庫上手動運行。 下列 WSUS 伺服器清理嚮導 選項不會在 CAS 和主要站台上執行:

從 1810 版開始的 WSUS 清除行為

從版本 1810 開始,您可以在軟體更新點元件屬性中,分別指定功能更新與非功能更新的取代規則。 WSUS 清理選項在每次同步後發生,並執行以下清理項目:

  • CAS、主要和次要網站上 WSUS 伺服器的 [ 過期更新 ] 選項。
  • Configuration Manager 會從其資料庫建置已取代更新的清單。 此清單是根據軟體更新點元件內容中的取代行為而定。
    • 符合取代行為準則的更新設定項目在 Configuration Manager 主控台中過期。
    • WSUS 中的 CAS、主要和次要網站都會拒絕更新。
  • Configuration Manager 資料庫中的軟體更新設定項目每七天會進行一次清理,並從主控台中移除不需要的更新。
    • 如果目前已部署過期的更新,此清理不會從 Configuration Manager 主控台移除過期的更新。

注意事項

「被取代更新到期前需等待的月數」是以取代更新的建立日期為基礎。 例如,如果您為此設定使用 2 個月,則已取代的更新將在 WSUS 中被拒絕,並在取代更新 2 個月時在 Configuration Manager 中過期。

下列 WSUS 伺服器清理嚮導 選項不會在 CAS、主要和次要站台上執行:

從版本 1906 開始的 WSUS 清理

您還有其他 WSUS 維護任務,Configuration Manager 可以執行這些任務來維護正常運行的軟體更新點。 除了拒絕 WSUS 中過期的更新之外,Configuration Manager 還可以在 WSUS 資料庫中新增非叢集索引,並從 WSUS 資料庫中移除過時的更新。 WSUS 維護會在每次同步之後進行。

根據取代規則拒絕 WSUS 中過期的更新

在 WSUS 中拒絕更新可從傳送到用戶端的目錄中移除這些更新,藉此改善效能。 拒絕 Configuration Manager 標示為已取代的更新,可進一步最小化目錄並改善效能。

  1. 在 Configuration Manager 主控台中,瀏覽至 [系統管理>概觀>][站台設定>網站]。
  2. 選取 Configuration Manager 階層頂端的網站。
  3. 按一下 [設定] 群組中的 [ 設定站台元件 ],然後按一下 [ 軟體更新點 ] 以開啟 [軟體更新點元件屬性]。
  4. 在 [WSUS 維護 ] 索引標籤中,選取 [ 根據超量規則拒絕 WSUS 中過期的更新]。

在 WSUS 資料庫中新增非叢集索引,以改善 WSUS 清理效能

新增非叢集索引可改善 Configuration Manager 的 WSUS 清理效能。

  1. 在 Configuration Manager 主控台中,瀏覽至 [系統管理>概觀>][站台設定>網站]。
  2. 選取 Configuration Manager 階層頂端的網站。
  3. 按一下 [設定] 群組中的 [ 設定站台元件 ],然後按一下 [ 軟體更新點 ] 以開啟 [軟體更新點元件屬性]。
  4. 在 [WSUS 維護 ] 索引標籤中,選取 [將非叢集索引新增至 WSUS 資料庫]。
  5. 在 Configuration Manager 使用的每個 SUSDB 上,索引會新增到下表中:
    • tbLocalizedPropertyForRevision
    • tbRevisionSupersedesUpdate

建立索引的 SQL Server 權限

當 WSUS 資料庫位於遠端 SQL Server 上時,您可能需要在 SQL Server 中新增權限以建立索引。 用於連線到 WSUS 資料庫和建立索引的帳戶可能會有所不同。 如果在軟體更新點屬性中指定 WSUS 伺服器連線帳戶,請確保連線帳戶具有 SQL Server 權限。 如果未指定 WSUS 伺服器連線帳戶,則網站伺服器的電腦帳戶需要 SQL Server 權限。

  • 建立索引需要 ALTER 對資料表或檢視表有權限。 帳戶必須是固定伺服器角色或db_ddladmindb_owner固定資料庫角色的sysadmin成員。 如需建立索引和權限的詳細資訊,請參閱 CREATE INDEX (Transact-SQL) 。
  • CONNECT SQL必須將伺服器權限授與帳戶。 如需詳細資訊,請參閱 Transact-SQL) (GRANT 伺服器權限 。

注意事項

  • 如果 WSUS 資料庫位於使用非預設連接埠的遠端 SQL Server 上,則可能無法新增索引。 您可以針對此案例使用 SQL Server 組態管理員建立伺服器別名。 新增別名且 Configuration Manager 可以連線到 WSUS 資料庫之後,將會新增索引。
  • 如果軟體更新點是網站伺服器的遠端,而且使用的是 Windows 內部資料庫,則不會新增索引。

從 WSUS 資料庫中移除過時的更新

過時的更新是 WSUS 資料庫中未使用的更新和更新修訂。 一般來說,一旦更新不再位於 Microsoft Update 目錄 中,且其他更新不需要它做為先決條件或相依性,就會被視為過時。

  1. 在 Configuration Manager 主控台中,瀏覽至 [系統管理>概觀>][站台設定>網站]。
  2. 選取 Configuration Manager 階層頂端的網站。
  3. 按一下 [設定] 群組中的 [ 設定站台元件 ],然後按一下 [ 軟體更新點 ] 以開啟 [軟體更新點元件屬性]。
  4. 在 [WSUS 維護] 索引標籤中,選取 [ 從 WSUS 資料庫移除過時的更新]。
    • 在停止前,允許過時的更新移除最多執行 30 分鐘。 它會在下一次同步處理發生後再次啟動。

用於移除過時更新的 SQL Server 權限

當 WSUS 資料庫位於遠端 SQL Server 上時,網站伺服器的電腦帳戶需要下列 SQL Server 權限:

注意事項

如果軟體更新點是網站伺服器的遠端,而且使用的是 Windows 內部資料庫,則不會移除過時的更新。

WSUS 清理嚮導

從版本 1906 開始,以下 WSUS 伺服器清理嚮導 選項不會在 CAS、主要和輔助站台上運行:

已知問題

請試想下列案例:

  • 您使用的是 Configuration Manager 版本 1906 或更新版本
  • 您有使用 Windows 內部資料庫的遠端軟體更新點
  • 在 「軟體更新點元件屬性」中,您在「 WSUS 維護 」標籤下擁有下列任一選取選項:
    • 在 WSUS 資料庫中新增非叢集索引
    • 從 WSUS 資料庫中移除過時的更新

在這種情況下,Configuration Manager 無法使用 Windows 內部資料庫對遠端軟體匯報點執行上述 WSUS 維護工作。 發生此問題的原因是 Windows 內部資料庫不允許遠端連線。 您會在 WSyncMgr.log 網站伺服器上看到下列錯誤:

Indexing Failed. Could not connect to SUSDB.
SqlException thrown while connect to SUSDB in Server: <SUP.CONTOSO.COM>. Error Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
...
Could not Delete Obselete Updates because ConfigManager could not connect to SUSDB: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) UpdateServer: <SUP.CONTOSO.COM>

若要解決此問題,您可以使用 Windows 內部資料庫,自動執行遠端軟體更新點的 WSUS 維護。 如需詳細資訊和詳細步驟,請參閱 Microsoft WSUS 和 Configuration Manager SUP 維護的完整指南。

匯報清除記錄項目

您可以檢閱下列項目的wsyncmgr.log來驗證此清理:

  • 當您看到以下日誌條目時,WSUS 中被取代更新的拒絕就完成了: Cleanup processed <number> total updates and declined <number>
  • 當您看到此條目時,WSUS 清理正在開始: Calling WSUS Cleanup.
  • 當您看到此條目時,對過期更新的 WSUS 清理已完成: Successfully completed WSUS Cleanup.
  • 當您看到此項目時,正在啟動 Configuration Manager 過期更新設定項目清理:Deleting old expired updates...
  • 當您看到此項目時,Configuration Manager 過期的更新組態項目清理已完成:Deleted <number> expired updates total