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:
- Para corrigir a parada aleatória do serviço SQL Server Agent
- 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.
fonte
Respostas:
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/
fonte