Клиентски компютри не докладва на Windows Software Update Services (WSUS) сървър


Симптоми


Клиентски компютри не се докладва на сървъра на Microsoft Windows Software Update Services (WSUS). Освен това може да се наблюдават следните симптоми:
  • В регистрационния файл на Windowsupdate.log на клиентски компютри, се регистрира следното съобщение за грешка:
    Забележка: Не може да качите събития на сървъра с hr = 80244008
  • Microsoft SQL Server изчакване съобщения за грешки се показват в административната конзола на WSUS сървъра.
  • SoftwareDistribution.log файл, който се намира в папката на Windows Update Services\LogFiles %programfiles%\Microsoft съдържа съобщения, подобно на следното:
    <DATE>
    <TIME>
    UTC грешка w3wp.130DBConnection.LogSqlExceptionDBLAYER: грешки [0]: източник .net SqlClient доставчик на данни, сървър OPC-AD-WSUS1N\WSUS, номер -2, 10 клас, посочва 0, процедура ConnectionRead (WrapperRead()).,
    LineNumber 0: Изтече времето на изчакване. Изтичането на периода на изчакване преди извършването на операцията или сървърът не отговаря.

Причина


Този проблем възниква, ако броят на отчитане събития в таблицата tbEventInstance надхвърля 1 милион реда.

WSUS сървър, който използва препоръчителните хардуер може да поддържа максимален брой 15 000 клиенти чрез цикъл за откриване по подразбиране 22 часа. Броят на докладване събития, които се добавят към таблицата tbEventInstance зависи от броя на клиентите и честота, която е зададена за всеки цикъл на откриване. Автоматично изтриване на редове от таблицата tbEventInstance започва, когато клиентът се опитва да изпрати доклад. Процесът на автоматично изтриване стартира само ако отчитане събития в таблицата tbEventInstance надвишава 1 милион редове.

Процесът на автоматично изтриване е много бавно и блокира клиентските компютри от отчет на WSUS сървъра. По подразбиране WSUS е конфигуриран да изтривате събития, които са по-стари от 15 дни на работни станции и които са по-големи от 90 дни на сървъра. WSUS изтрива старите събития в размер на 1000 събития всеки 12 часа.

За информация как да определите дали tbEventInstance таблицата надхвърли 1 милион редове вижте раздела "Допълнителна информация".

Решение


Информация за актуалната корекция

Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем.

Ако актуалната корекция е налична за изтегляне, има секция "Налично изтегляне предлага" в горната част на тази статия от базата знания. Ако тази секция не се появи, изпратете заявка за обслужване на клиенти на Microsoft и поддръжка, за да получите актуалната корекция.

Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:Забележка: Формулярът "Налична актуална корекция изтегляне" показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото актуалната корекция не е налична за този език.

Необходими условия:

Предварителни условия са необходими.

Изискване за рестартиране

Не трябва да рестартирате компютъра, след като приложите тази актуална корекция.

Информация за заместване на актуалната корекция

Тази актуална корекция не замества други спешни корекции.

Файлова информация

Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента "дата и час" в контролния панел.
Име на файлВерсия на файлаРазмер на файлаДатаВремеПлатформа
Eventinstancesfix.dllНеприложимо41,27207-Nov-200511:36x86
Eventinstancesfix.sqlНеприложимо14,44201-Nov-200510:42Неприложимо
Runeventinstancesfix.vbsНеприложимо1,43308-Nov-200512:16Неприложимо

Заобикаляне на проблема


За да заобиколите този проблем, променете цикъл на откриване на стойност, която е в допустимия обхват. Чрез групови правила, можете да обработвате времето между всеки цикъл на откриване от 1 час до 22 часа. Например ако промените честотата на цикъл на откриване по подразбиране 22 часа до 11 часа, броят на клиентите, които могат да поддържат WSUS сървъра се намалява до 7 500 клиенти.

Ако клиентски компютри не докладва на WSUS сървъра след като промените честотата на цикъл на откриване, трябва да изтриете всички текущи събития от таблицата tbEventInstance. За целта изпълнете следната команда в SQL заявка анализатор:
ОТРЕЖЕТЕ таблица dbo.tbEventInstance
Освен това можете да спрете процеса на автоматично изтриване и след това се увеличава честотата на процеса на изтриване. След като се увеличава честотата на процеса на изтриване, WSUS изтрива редове в по-малки части, но поддържа размера на таблицата tbEventInstance.

За да спрете процеса на автоматично изтриване и да зададете честотата на процеса на изтриване до 1 час, изпълнете следната команда в SQL заявка анализатор:
АКТУАЛИЗАЦИЯ dbo.tbConfigurationB НАБОР AutoPurgeDetectionPeriod = 1
Тази команда се изпълнява процесът на изтриване на всеки час. След като изпълните тази команда WSUS изтрива 24 000 събития на ден в размер на 1000 събития за час. Това е най-високата честота, която може да се настрои за изтриване на процеса.

За изчисляване на правилния автоматично изтриване честота и откриване на правилния цикъл честота, трябва да знаете номера на клиенти на WSUS.

Използвайте следните формули за изчисляване на минималната честота на процеса за изтриване и честотата на цикъл на откриване:
Минимални изтриване процес честота: (24/DF) x CL
Откриване на цикъл честота: (CL/PF) x 24
Забележка: DF е честотата на цикъл на откриване, CL е броят на WSUS клиенти и PF е минимална прочистване честота.

Например ако има 4000 WSUS клиенти и зададете честотата на цикъл на откриване на 8 цикъла на ден, около 32 000 събития могат да се запишат tbEventInstance таблица. Максималният брой на събития, които могат да бъдат премахнати от процеса на изтриване на ден е 24 000 събития, когато зададете честотата на изтриването на 1 час. Затова можете да намалите честотата на откриването цикъл така, че броят на събитията, които са създадени от клиенти е по-малко от 24 000.

Статус


Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Допълнителна информация


Как да определите дали tbEventInstance таблицата надхвърли 1 милион редове

  1. Стартирайте анализатор на SQL заявки и след това се свържете с локален сървър.
  2. В списъка с бази данни щракнете върху SUSDB.
  3. Поставете следната SQL заявка в прозореца заявка:
    select count(*) from tbEventInstance
  4. Щракнете върху Изпълни заявката за изпълнение на заявката.
Ако работите с Microsoft SQL Server Desktop Engine (Windows) (WMSDE), също така можете да използвате командата osql да проверите дали tbEventInstance таблицата надхвърли 1 милион редове. За целта въведете следната команда в командния ред и натиснете ENTER:
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:
824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft