Problema
Em um de nossos servidores testemunhas do SQL Server (isso faz parte de nossa configuração de espelhamento de banco de dados para SQL Server 2008 R2), acabamos de começar a obter o evento abaixo no log de eventos do Windows.
A descrição da ID de evento 17052 da origem MSSQLSERVER não pode ser encontrada. O componente que gera esse evento não está instalado no computador local ou a instalação está corrompida. Você pode instalar ou reparar o componente no computador local.
Se o evento se originou em outro computador, as informações de exibição tiveram que ser salvas com o evento.
As seguintes informações foram incluídas no evento:
Gravidade: 16 Erro:0, SO: 0 [Microsoft][SQL Server Native Client 10.0]Não é possível concluir o processo de login devido ao atraso na abertura da conexão do servidor
o recurso de mensagem está presente, mas a mensagem não foi encontrada na tabela de string/mensagem
Esses eventos estão acontecendo em horários variados e até agora tivemos 22 erros a partir de 27/08/2015. Examinei nosso log de alterações e não consigo ver nenhuma alteração relevante para esse dia.
Eu fiz algumas investigações e encontrei o seguinte artigo . Isso examina as informações xml na tabela abaixo; no entanto, nenhum dos eventos no conjunto de resultados corresponde aos tempos de qualquer uma das falhas.
SELECT CAST(record as xml) as record
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_CONNECTIVITY'
Para piorar as coisas, os erros parecem esporádicos sem um padrão determinável.
Pergunta
Como posso descobrir o que está causando os eventos acima?
Versão
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 17 de junho de 2011 00:54:03 Copyright (c) Microsoft Corporation Standard Edition (64 bits) no Windows NT 6.1 (Build 7601: Service Pack 1) ( Hipervisor)
A solução de problemas não foi o processo mais simples, pois acabou sendo um aplicativo de terceiros matando o usuário. No entanto, havia indicações claras no log SQL de que havia problemas.
Ocorreram cerca de 20 erros de memória por dia no log do SQL Server ao longo das linhas de "Uma parte significativa da memória do processo do SQL Server foi paginada. Isso pode resultar em uma degradação do desempenho. Duração: 7254 segundos. Conjunto de trabalho (KB): 12756, confirmado (KB): 61520, utilização de memória: 20%."
Usando um produto chamado ExtraHop (você pode usar sua ferramenta de captura de pacotes de rede favorita), conseguimos rastrear todo o tráfego entrando e saindo do servidor durante o período do erro 17052. Isso nos mostrou que nosso software de monitoramento estava se conectando ao servidor e que um simples
SELECT 1
estava demorando dois segundos para ser concluído. Uma solicitação de alteração foi levantada para aumentar a memória e, em seguida, implementada e os erros desapareceram.Acredito que o software de monitoramento encerra sua tentativa de conexão com um servidor SQL; como a rescisão vinha de fora do SQL, seria de fato um erro desconhecido.