Почему один нисходящий WSUS отказывает в репликации, а другие нет?

Недавно я добавил несколько нисходящих серверов в среду WSUS для клиента. Все серверы работают под управлением WSUS версии 3 с пакетом обновления 2 (3.2.7600.226). Все они, кажется, работают хорошо, за одним исключением.

Местоположение находится в рабочем состоянии, и клиенты зарегистрировались и получают обновления. Тем не менее, каждая синхронизация начиная с начальной не удалась. Консоль управления WSUS отображает следующую ошибку для каждой неудачной синхронизации:

SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
   at Microsoft.UpdateServices.DatabaseAccess.DBConnection.ReadOneRow()
   at Microsoft.UpdateServices.Internal.DataAccess.HideUpdatesForReplicaSync(String xmlUpdateIds)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ProcessHiddenUpdates(Guid[] hiddenUpdates)
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ReplicaSync()
   at Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)

Это происходит в конце синхронизации после того, как сервер уже получил новые обновления от вышестоящего сервера. Изменения, похоже, сохраняются должным образом, так как новые, пересмотренные и просроченные счета не увеличиваются постоянно.

Я также вижу идентификаторы событий 10022 а также 10032 в журнале приложений в Event Viewer во время каждого сбоя.

Я попытался запустить мастер очистки сервера на обоих вышестоящих и последующих серверах, но он зависает на обоих, когда доходит до стадии удаления неиспользуемых обновлений. Я запускал его на восходящем потоке неделю назад или около того, прямо перед настройкой всех нижестоящих серверов, и тогда он работал нормально.

Я также успешно запустил скрипт переиндексации из этого обсуждения на форуме Microsoft на обоих серверах. (Мастер очистки по-прежнему зависает после этого.)

Я выполнил немало поисков в Интернете по этому вопросу, и мне не удалось найти ничего подходящего для этой ситуации. Я должен думать, что проблема специфична для нижестоящего сервера, который выходит из строя, поскольку остальные все работают нормально.

Есть ли способ точно определить, что он делает, когда истекает время ожидания?

1 ответ

Решение

Кажется, я нашел решение своей проблемы, хотя я не совсем понимаю, почему это не было проблемой на других машинах. Возможно различия между внутренней базой данных в разных версиях / пакетах обновления Windows Server.

В диспетчере конфигурации SQL Server (входит в состав SQL Server Management Studio) для внутреннего экземпляра базы данных (MICROSOFT##SSEE) были отключены именованные каналы и TCP/IP в разделе "Сетевая конфигурация SQL Server".

После включения обоих синхронизация начала работать правильно. Теперь я запустил несколько синхронизаций, и все они работали нормально.

Другие вопросы по тегам