Sintomas
Computadores cliente não comunicam novamente para o servidor do Microsoft Windows Software Update Services (WSUS). Além disso, poderão ocorrer os seguintes sintomas:
-
A seguinte mensagem de erro é registada no ficheiro de registo windowsupdate em computadores cliente:
Aviso: Falha ao carregar eventos para o servidor com hr = 80244008
-
Mensagens de erro de tempo limite do Microsoft SQL Server são apresentadas na consola administrativa no servidor WSUS.
-
O ficheiro SoftwareDistribution.log. exe está localizado na pasta Services\LogFiles do Windows Update %programfiles%\Microsoft contém mensagens que são semelhantes à seguinte:
<DATE>
<TIME>
Erro UTC w3wp.130DBConnection.LogSqlExceptionDBLAYER: erros [0]: origem .net SqlClient Data Provider, servidor OPC-AD-WSUS1N\WSUS, número -2, ramo 10, 0, ConnectionRead do procedimento de estado (WrapperRead()).,
Número_linha 0: Tempo limite expirou. O tempo limite decorreu antes da conclusão da operação ou o servidor não está a responder.
Causa
Este problema ocorre se o número de eventos mapas na tabela tbEventInstance exceder 1 milhão de linhas.
Um servidor WSUS que está a utilizar o hardware recomendado pode suportar um número máximo de 15.000 clientes através da utilização de um ciclo de detecção de predefinição de 22 horas. O número de eventos de informação que é adicionado à tabela tbEventInstance depende do número de clientes e a frequência com que está definida para cada ciclo de detecção. A eliminação automática de linhas da tabela ' tbEventInstance ' é iniciado quando um cliente tenta enviar um relatório. O processo de eliminação automática é iniciado apenas se os eventos mapas na tabela tbEventInstance excedem 1 milhão de linhas.
O processo de eliminação automática é muito lento e bloqueia os computadores cliente de resposta para o servidor WSUS. Por predefinição, o WSUS está configurado para eliminar eventos que são mais de 15 dias em estações de trabalho e que têm mais de 90 dias em servidores. WSUS elimina eventos antigos à velocidade de 1.000 eventos cada 12 horas.
Para obter informações sobre como determinar se a tabela tbEventInstance excedeu a 1 milhão de linhas, consulte a secção "Mais informação".
Resolução
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.
Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentado, submeta um pedido de suporte e serviço de cliente Microsoft para obter a correcção.
Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.
Pré-requisitos
Não existem pré-requisitos.
Requisito de reinício
Não é necessário reiniciar o computador depois de aplicar esta correcção.
Informações sobre substituição da correção
Esta correcção não substitui quaisquer outras correcções.
Informações de ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso Horário no item Data e Hora no Painel de Controlo.
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Eventinstancesfix.dll |
Não aplicável |
41,272 |
07-Nov-2005 |
11:36 |
x86 |
Eventinstancesfix.sql |
Não aplicável |
14,442 |
01-Nov-2005 |
10:42 |
Não aplicável |
Runeventinstancesfix.vbs |
Não aplicável |
1,433 |
08-Nov-2005 |
12:16 |
Não aplicável |
Solução alternativa
Para contornar este problema, altere o ciclo de detecção para um valor que se encontra no intervalo permitido. Utilizando a política de grupo, pode manipular o tempo entre cada ciclo de detecção de 1 hora a 22 horas. Por exemplo, se alterar a frequência de ciclo de detecção da predefinição 22 horas para 11 horas, o número de clientes que suporta o servidor WSUS é reduzido para 7,500 clientes.
Se a computadores cliente não relatar novamente para o servidor WSUS depois de alterar a frequência de detecção de ciclo, tem de eliminar todos os eventos actuais da tabela ' tbEventInstance '. Para tal, execute o seguinte comando no SQL Query Analyzer:
Truncar tabela dbo.tbEventInstanceAlém disso, pode parar o processo de eliminação automática e, em seguida, aumentar a frequência do processo de eliminação. Depois de aumentar a frequência do processo de eliminação, o WSUS elimina linhas em segmentos mais pequenos, mas mantém o tamanho da tabela tbEventInstance.
Para parar o processo de eliminação automática e definir a frequência do processo de eliminação para 1 hora, execute o seguinte comando no SQL Query Analyzer:
ACTUALIZAÇÃO dbo.tbConfigurationB definir AutoPurgeDetectionPeriod = 1Este comando é executado o processo de eliminação para cada hora. Depois de executar este comando, o WSUS elimina 24.000 eventos por dia, à taxa de 1.000 eventos por hora. Esta é a frequência mais alta que pode ser definida para o processo de eliminação.
Para calcular a frequência de eliminação automática correcto e a frequência de ciclo de detecção correcto, tem de saber o número de clientes WSUS.
Utilize as seguintes fórmulas para calcular a frequência mínima para o processo de eliminação e a frequência de ciclo de detecção:
Frequência do processo de eliminação mínimo: (24/DF) x CL
Frequência de detecção de ciclo: (CL/PF) x 24Nota DF é a frequência de detecção de ciclo, CL é o número de clientes WSUS e PF é a frequência mínima de purga.
Por exemplo, se forem 4.000 clientes WSUS e se definir a frequência de detecção de ciclo 8 ciclos por dia, aproximadamente 32.000 eventos podem ser registados na tabela tbEventInstance. O número máximo de eventos que podem ser removidos pelo processo de eliminação por dia é 24.000 eventos quando definir a frequência de eliminação para 1 hora. Por conseguinte, pode reduzir a frequência de detecção de ciclo de modo a que o número de eventos que são gerados pelos clientes é inferior a 24,000.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Como determinar se a tabela tbEventInstance excedeu a 1 milhão de linhas
-
Inicie o SQL Query Analyzer e, em seguida, ligue para o servidor local.
-
Na lista de bases de dados , clique em SUSDB.
-
Cole a seguinte consulta SQL na janela de consulta:
select count(*) from tbEventInstance
-
Clique em Executar consulta para executar a consulta.
Se estiver a executar o Microsoft SQL Server Desktop Engine (Windows) (WMSDE), também pode utilizar o comando osql para verificar se a tabela tbEventInstance excedeu a 1 milhão de linhas. Para tal, escreva o seguinte comando numa linha de comandos e, em seguida, prima ENTER:
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft