Event ID 12052 WSUS: потеря связи с базой данных во время работы
Симптомы потери связи с БД (Event ID 12052)
В журнале Application регистрируется событие Event ID 12052: The WSUS administration console was unable to connect to the WSUS database. The connection to the database was lost while processing the request. Ошибка возникает спонтанно посреди рабочего дня при открытии отчетов или утверждении обновлений.
| Симптом | Проявление |
|---|---|
| Внезапный обрыв связи консоли | Диалог ошибки «Непредвиденная ошибка базы данных. Повторите попытку позже» |
| Сброс сессий администрирования | Администратор выбрасывается из консоли WSUS MMC |
| Прерывание синхронизации обновлений | Синхронизация с серверами Microsoft зависает на 50–70% |
Пошаговое устранение сбоя Event ID 12052
- Увеличьте лимиты времени отклика в конфигурации пула IIS: увеличьте таймауты отклика на запросы проверки работоспособности пула:
# Настройка таймаутов пула WsusPool в IIS:
Import-Module WebAdministration
Set-ItemProperty "IIS:\AppPools\WsusPool" -Name "processModel.pingingEnabled" -Value $False
Set-ItemProperty "IIS:\AppPools\WsusPool" -Name "processModel.idleTimeout" -Value "00:00:00"
Set-ItemProperty "IIS:\AppPools\WsusPool" -Name "processModel.shutdownTimeLimit" -Value "00:10:00"- Увеличьте таймаут ожидания выполнения SQL-запросов (CommandTimeout) в web.config WSUS:
Откройте файл C:\Program Files\Update Services\WebServices\ClientWebService\web.config и установите значение commandTimeout="3600".
- Очистите неиспользуемые языковые пакеты и продукты: оставьте синхронизацию только тех продуктов Microsoft, которые реально используются в организации (например, Windows 10, Windows 11, Windows Server 2022).
Совет: В консоли WSUS перейдите в Параметры > Продукты и классификации и снимите флажки со старых систем (Windows 7, 8.1, Server 2008, 2012, Office 2010), чтобы уменьшить нагрузку на базу в 5 раз.
Частые вопросы (FAQ)
Почему соединение с базой рвется прямо во время формирования отчета?
Сложный SQL-запрос выполняется дольше установленного лимита (Execution Timeout), после чего IIS принудительно обрывает сокетное соединение.
Безопасно ли отключать проверку pingingEnabled для WsusPool?
Да. Это предотвращает ошибочное принудительное завершение пула IIS во время выполнения тяжелых фоновых SQL-запросов.
Где настроить используемые языки в WSUS?
В оснастке WSUS: Параметры -> Файлы обновлений и языки -> Языки обновления (выберите только 'Русский' и 'Английский').
Как проверить, сколько обновлений находится в базе сейчас?
Выполните в PowerShell: (Get-WsusUpdate).Count.