Objawy
Komputery klienckie nie raport serwera Microsoft Windows Software Update Services (WSUS). Ponadto mogą wystąpić następujące symptomy:
-
Następujący komunikat o błędzie jest rejestrowany w pliku dziennika Windowsupdate.log na komputerach klienckich:
Ostrzeżenie: Nie można przesłać zdarzenia do serwera za pomocą hr = 80244008
-
Komunikaty o błędzie limitu czasu programu Microsoft SQL Server są wyświetlane w konsoli administracyjnej na serwerze WSUS.
-
Plik SoftwareDistribution.log, który znajduje się w folderze %programfiles%\Microsoft Services\LogFiles aktualizacji systemu Windows zawiera wiadomości, które są podobne do następujących:
<DATE>
<TIME> W3wp.130DBConnection.LogSqlExceptionDBLAYER błąd UTC: błędy [0]: Dostawca danych SqlClient platformy .net źródła, serwer OPC-AD-WSUS1N\WSUS, -2, grupy 10, numer stanu 0, procedury ConnectionRead (WrapperRead())., Numer wiersza 0: Upłynął limit czasu. Limit upłynął przed ukończeniem operacji lub serwer nie odpowiada.
Przyczyna
Ten problem występuje, jeśli 1 miliona wierszy przekracza liczbę raportowania zdarzeń w tabeli tbEventInstance.
Serwer WSUS, który używa zalecany sprzęt może obsługiwać maksymalnie 15 000 klientów przy użyciu cyklu wykrywania domyślnego wynoszącego 22 godziny. Liczba zdarzeń raportowania, która jest dodawana do tabeli tbEventInstance zależy od liczby klientów oraz częstotliwość, z jaką jest ustawiona dla każdego cyklu wykrywania. Automatyczne usunięcie wierszy z tabeli tbEventInstance rozpoczyna się, gdy klient próbuje wysłać raport. Proces automatycznego usuwania jest inicjowany, tylko jeśli 1 miliona wierszy przekracza raportowania zdarzeń w tabeli tbEventInstance. Proces automatycznego usuwania działa bardzo powoli i blokuje komputery klienckie z raportowanie z powrotem do serwera WSUS. Domyślnie program WSUS jest skonfigurowany do usuwania zdarzenia, które są starsze niż 15 dni na stacjach roboczych i które są starsze niż 90 dni na serwerach. Program WSUS powoduje usunięcie starych zdarzeń w wysokości 1000 zdarzeń co 12 godzin. Aby uzyskać informacje dotyczące sposobu ustalania, czy tabela tbEventInstance przekroczył 1 miliona wierszy zobacz sekcję "Więcej informacji".Rozwiązanie
Informacje o poprawce
Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę.
Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, należy przesłać żądanie do centrum obsługi klienta firmy Microsoft i obsługi technicznej w celu uzyskania poprawki. Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następującą witrynę firmy Microsoft w sieci Web:http://support.microsoft.com/contactus/?ws=supportUwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.
Wymagania wstępne
Nie określono wymagań wstępnych.
Wymagania dotyczące ponownego uruchomienia
Nie musisz ponownie uruchomiać komputera po zastosowaniu tej poprawki.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje żadnych innych poprawek.
Informacje o plikach
Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć karty Strefa czasowa w elemencie Data i godzina w Panelu sterowania.
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
---|---|---|---|---|---|
Eventinstancesfix.dll |
Nie dotyczy |
41,272 |
07-Nov-2005 |
11:36 |
x86 |
Eventinstancesfix.sql |
Nie dotyczy |
14,442 |
01-Nov-2005 |
10:42 |
Nie dotyczy |
Runeventinstancesfix.vbs |
Nie dotyczy |
1433 |
08-Nov-2005 |
12:16 |
Nie dotyczy |
Obejście problemu
Aby obejść ten problem, należy zmienić wartość, która jest dozwolony zakres cyklu wykrywania. Za pomocą zasady grupy, można kontrolować czas między każdym cyklu wykrywania od 1 godziny do 22 godziny. Na przykład jeśli zmienisz częstotliwość cyklu wykrywania z domyślnego 22 godziny do 11 godzin, liczba klientów obsługujących serwer WSUS jest ograniczona do 7500 klientów.
Jeśli komputery klienckie nie Raportuj powrót do serwera programu WSUS po zmianie częstotliwości cyklu wykrywania, należy usunąć wszystkie bieżące wydarzenia z tabeli tbEventInstance. Aby to zrobić, uruchom następujące polecenie w programie SQL Query Analyzer:Dbo.tbEventInstance instrukcja TRUNCATE TABLEPonadto można zatrzymać proces automatycznego usuwania i następnie zwiększyć częstotliwość proces usuwania. Po zwiększyć częstotliwość proces usuwania, WSUS usuwa wiersze w kawałkach mniejszych, ale zachowuje rozmiar tabeli tbEventInstance.
Aby zatrzymać proces automatycznego usuwania i ustawiony na 1 godzinę częstotliwość proces usuwania, uruchom następujące polecenie w programie SQL Query Analyzer:Aktualizacja dbo.tbConfigurationB SET AutoPurgeDetectionPeriod = 1To polecenie uruchamia proces usuwania co godzinę. Po uruchomieniu tego polecenia program WSUS usuwa 24000 zdarzeń dziennie w wysokości 1000 zdarzeń na godzinę. Jest najwyższej częstotliwości, które można ustawić dla procesu usuwania.
Aby obliczyć częstotliwość automatycznego usuwania poprawne i częstotliwość cyklu wykrywania odpowiednie, trzeba znać liczbę klientów programu WSUS. Poniższych formuł można używać do obliczania minimalnej częstotliwości dla procesu usuwania i częstotliwość cyklu wykrywania:Częstotliwość proces usuwania minimalna: (24/DF) x CL
Częstotliwość cyklu wykrywania: (CL/PF) x 24Uwaga DF jest częstotliwość cyklu wykrywania, CL, jest liczba klientów programu WSUS i PF jest częstotliwość minimalną purge.
Na przykład jeśli istnieją 4 000 klientów programu WSUS i ustawić częstotliwość cyklu wykrywania 8 cykli dziennie, około 32 000 zdarzenia mogą być rejestrowane w tabeli tbEventInstance. Maksymalna liczba zdarzeń, które mogą być usunięte przez proces usuwania dziennie jest 24000 zdarzenia, gdy częstotliwość usuwania jest ustawiony na 1 godzinę. W związku z tym można zmniejszyć częstotliwość cyklu wykrywania, tak, że liczba zdarzeń, które są generowane przez klientów jest mniej niż 24 000.Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Jak ustalić, czy tabela tbEventInstance przekroczył 1 miliona wierszy
-
Uruchom program SQL Query Analyzer, a następnie połączyć się z serwerem lokalnym.
-
Na liście baz danych kliknij pliki SUSDB.
-
Wklej następującą kwerendę SQL w oknie kwerendy:
select count(*) from tbEventInstance
-
Kliknij przycisk Wykonywanie zapytania , aby uruchomić kwerendę.
Jeśli używasz Microsoft SQL Server Desktop Engine (Windows) (WMSDE), możesz także zastosować polecenie osql Aby sprawdzić, czy tabela tbEventInstance przekroczył 1 miliona wierszy. Aby to zrobić, wpisz następujące polecenie w wierszu poleceń i naciśnij klawisz ENTER:
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft