Недавно я добавил несколько нижестоящих серверов в среду WSUS для клиента. Все серверы работают под управлением WSUS версии 3 SP2 (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
в журнале приложений в средстве просмотра событий во время каждого сбоя.
Я попытался запустить мастер очистки сервера как на восходящем, так и на подчиненном сервере, но он зависает на обоих, когда доходит до стадии удаления неиспользуемых обновлений. Я запустил его в восходящем направлении около недели назад, непосредственно перед настройкой всех подчиненных серверов, и тогда он работал нормально.
Я также успешно запустил сценарий переиндексации из этого обсуждения на форуме Microsoft на обоих серверах. (Мастер очистки по-прежнему зависает после этого.)
Я довольно много искал в Интернете эту проблему, и мне не удалось найти ничего, что работало бы в этой ситуации. Я должен думать, что проблема специфична для вышедшего из строя нижестоящего сервера, поскольку все остальные работают нормально.
Есть ли способ точно определить, что он делает по истечении времени ожидания?
Кажется, я нашел решение своей проблемы, хотя я не совсем понимаю, почему это не было проблемой на других машинах. Возможны различия между внутренней базой данных в разных версиях / пакетах обновления Windows Server.
В диспетчере конфигурации SQL Server (входит в состав SQL Server Management Studio) для экземпляра внутренней базы данных (MICROSOFT ## SSEE) были отключены именованные каналы и TCP / IP в разделе «Конфигурация сети SQL Server».
После включения обоих синхронизация начала работать нормально. Я запустил несколько синхронизаций, и все они работали нормально.