Estou tendo problemas com um dos meus servidores SQL Server 2016 Standard. Tenho 8 servidores de produção e este é o único que trava aleatoriamente sem ter nenhum rastro no log.
Eu tenho system_health habilitado nele. Percebi que tenho uma linha na saúde do sistema que é "sql_exit_invoked".
Estou tentando encontrar mais informações sobre essa linha. O que isso significa? A única informação que encontrei na internet é que isso acontece quando SQLExit() é chamado e que está logado apenas desde o SQL 2012. (link disponível no site do msdn )
Então minha pergunta é: Devo me preocupar em ver isso no meu log? Acho isso apenas no meu servidor problemático e não em nenhum dos outros 7 servidores. (Todos eles são SQL Server 2016 Standard edition)
Alguém pode me dar mais informações sobre isso?
Eventos estendidos são muito mal documentados.
Os eventos estendidos do canal de depuração são ainda mais mal documentados.
Com base em meus testes, você precisará usar o valor "shutdown_option" dessas entradas de eventos como uma pista para onde procurar em seguida. Aqui está o que eles significam em meus testes limitados:
ORDERLY_SHUTDOWN
NICE_SHUTDOWN
- pare o serviço usando oSHUTDOWN;
comando T-SQLFAST_SHUTDOWN
- pare o serviço usando oSHUTDOWN WITH NOWAIT;
comando T-SQLObserve que também tentei o seguinte e eles não registraram nada na sessão de eventos estendidos:
Eu não consegui fazer a
SHUTDOWN_NOT_SET
versão do evento disparar, então isso permanece um mistério.Na sua captura de tela, posso ver que ORDERLY_SHUTDOWN é a opção em seu cenário. Nesse caso, como isso parece implicar um desligamento limpo do serviço ou do PC com Windows, eu examinaria o log "Sistema" do Visualizador de Eventos do Windows e veria por que a máquina está sendo reiniciada ou qual serviço / componente está emitindo um comando SHUTDOWN para o serviço SQL Server.
Boa sorte!