SQL Server Agent iniciando o encerramento automático

9

No mês passado, um dos meus servidores está enfrentando problemas com o SQL Server Agent. Para automaticamente com o erro abaixo, o que acontece aleatoriamente:

Arquivo de saída do agente Sql
[097] Vazamento de memória detectado [204 bytes]
Exceção 5 capturada na linha 403 do arquivo e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp. SQLServerAgent iniciando a finalização automática

Pesquisei esse erro no Google, mas não obtive muitas informações. O SQL Server e o Agent estão em execução com a mesma conta de domínio; no entanto, o problema é apenas com o serviço SQL Server Agent.

Também não consigo ver o serviço SQL Server Agent no SQL Server Configuration Manager. Eu verifiquei o log de erros do SQL Server e o Windows Event Viewer, mas não vi nenhuma atividade suspeita.

Minhas configurações de memória estão definidas corretamente. O servidor tem 32 GB de RAM e o SQL Server é atribuído para usar memória máxima de 26 GB.

Detalhes do sistema:

  • SQL Server 2012 SP2 Std Edition 11.0.5058 de 64 bits
  • Windows Server 2008 R2 Ent Edition de 64 bits
  • Dedicado ao SQL Server (nenhum outro aplicativo é executado no servidor)
  • O servidor foi atualizado há alguns meses do SQL Server 2005 EE para 2012 SE.
  • Não estamos usando um servidor de encaminhamento de eventos .

Eu verifiquei o banco de dados msdb também. Executou o checkdb nele e foi concluído com êxito, sem erros. Preciso da sua ajuda para consertar duas coisas:

  1. Para corrigir a parada aleatória do serviço SQL Server Agent
  2. Para adicionar o serviço SQL Server Agent no SQL Server Configuration Manager

Como temos um software de terceiros para monitoramento, somos notificados imediatamente se o serviço do agente parar. Por enquanto, estamos apenas reiniciando o serviço. Mas queremos encontrar a causa raiz.

Executei a seguinte consulta sugerida por Sean Gallardy e recuperei 95 linhas. Não sei como interpretar o resultado.

select * 
from sys.dm_os_loaded_modules 
where name not like '%microsoft%'

Infelizmente, não posso postar os resultados por razões de segurança.

Até encontrar a solução para esse problema, adicionei tentativas de repetição ao SQL Server Agent para que ele possa reiniciar automaticamente quando for interrompido.

SQLPRODDBA
fonte
Quando o agente é morto, você consegue acessar o servidor e verificar o uso do arquivo de paginação? Existem itens do Connect sobre isso ser causado pelo esgotamento do arquivo de paginação por vários aplicativos (incluindo o HyperBac).
Cody Konior
Vou verificar quando acontecer novamente.
SQLPRODDBA 21/04
Quando você atualizou do SQL Server 2005 EE para o SQL Server 2012 SE, você fez uma atualização no local? Ou você fez uma parcela completamente nova do SQL Server? Pergunto, porque no início dos anos 2000 me deparei com algumas falhas com atualizações no local que foram resolvidas excluindo completamente a pasta e reinstalando o SQL Server em uma pasta vazia. (Sim, foi um incômodo).
RLF 21/02

Respostas:

1

Como você atualizou recentemente há alguns meses do SQL Server 2005 EE para 2012 SE, salve e limpe os logs de eventos, pois o SqlAgent pode falhar ao ver IDs de log de eventos de uma versão anterior do SQL Server. Por exemplo, o Agente pode falhar porque lê um evento registrado por uma compilação do SQL Server anterior à compilação atual, que contém apenas dados com UMA cadeia de inserção e o agente tentará formatá-lo usando as informações mais recentes sobre recursos que requerem DUAS cadeias. Isso levaria a um breve vazamento de memória pouco antes de ser desligado, pois um buffer é alocado para a string que ele está tentando imprimir quando ocorre a falha.

Quanto ao serviço do agente não listado no gerenciador de configuração, há várias possibilidades: https://support.microsoft.com/en-us/kb/941823

Verifique se você está executando o 2012 Configuration Manager

Você pode tentar recriar o repositório WMI: https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/

stacylaray
fonte