Назад | Перейти на главную страницу

WSUS mmc продолжает сбой

У меня есть WSUS, которые используют MS SQL 2012 в качестве базы данных. Обновления хранятся локально на сервере WSUS, поскольку у нас ограниченная пропускная способность Интернета. Все классы обновлений синхронизируются с Microsoft, кроме драйверов и новых пакетов функций. Обновления синхронизируются на 3 языках. Версия WSUS - 10.0.17763.678. Сам сервер WSUS полностью обновлен. Размер базы данных C:\Program Files\Microsoft SQL Server\MSSQL11.WSUSSQL\MSSQL\DATA\SUSDB.mdf составляет около 10 ГБ. Когда пытаюсь отобразить все обновления в консоли WSUS - зависает минут 3-5, а потом аварии.

The WSUS administration console was unable to connect to the WSUS Server via the remote API. 

Verify that the Update Services service, IIS and SQL are running on the server. If the problem persists, try restarting IIS, SQL, and the Update Services Service.

System.Net.WebException -- The operation has timed out

Source
System.Web.Services

Stack Trace:
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at Microsoft.UpdateServices.Internal.DatabaseAccess.ApiRemotingCompressionProxy.GetWebResponse(WebRequest webRequest)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, Int32 publicationState)
   at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
   at Microsoft.UpdateServices.Internal.BaseApi.Update.SearchUpdates(UpdateScope searchScope, ExtendedPublicationState publicationState, UpdateServer updateServer)
   at Microsoft.UpdateServices.UI.AdminApiAccess.UpdateManager.GetUpdates(ExtendedUpdateScope filter)
   at Microsoft.UpdateServices.UI.AdminApiAccess.BulkUpdatePropertiesCache.GetAndCacheUpdates(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope)
   at Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetListRows()

Запрос слишком велик, и SQL просто не успевает его обработать. Тайм-аут консоли WSUS очень короткий, и его невозможно увеличить. WSUS аварийно завершает работу, только если я прошу отобразить неутвержденные - любые обновления, потому что этот запрос очень большой. Если я прошу отобразить "Утверждено - Не выполнено" или "Требуется", запрос будет успешно завершен.

Я попытался настроить дополнительные параметры IIS WsusPool: установить ограничение частной памяти на 0 (неограниченно), установить длину очереди на 25000, тип ответа «Служба недоступна» на TcpLevel, интервал сбоя (минут) на 30, «Максимальное количество сбоев» на 60, регулярно Интервал времени (в минутах) на 0, Ping Enabled на False.

Я пробовал запустить скрипт переиндексации базы данных WSUS https://gallery.technet.microsoft.com/scriptcenter/6f8cde49-5c52-4abd-9820-f1d270ddea61

Я попытался добавить больше ядер к виртуальной машине до 32 (процесс SQL все еще не использует более 15% ЦП), добавив больше памяти до 32 ГБ (есть много свободной памяти). Я попытался переместить диск C (расположение базы данных) в более быстрое хранилище.

Я попытался увеличить время ожидания asp для WSUS, изменив в \ Program Files \ Update Services \ WebServices \ ClientWebService \ Web.Config <httpRuntime maxRequestLength="4096" /> к <httpRuntime maxRequestLength="4096" executionTimeout="3600" />

Я попытался сделать мастер очистки сервера WSUS из части «Параметры» консоли WSUS. Все флажки в мастере очистки установлены. Мастер работал около 5 часов и успешно завершился. Было удалено около 25000 ненужных обновлений.

Собственно консоль WSUS mmc не всегда вылетает. Сразу после мастера очистки и после скрипта переиндексации он успешно отобразил список всех обновлений, но после двух успешных попыток снова начал вылетать.

Как заставить WSUS mmc condole всегда успешно отображать список всех обновлений?