시스템 상태에서 “sql_exit_invoked”가 무엇입니까? Standard 서버 중 하나에

SQL Server 2016 Standard 서버 중 하나에 문제가 있습니다. 나는 8 개의 프로덕션 서버를 가지고 있으며 이것은 로그에 흔적을 남기지 않고 무작위로 충돌하는 유일한 서버입니다.

system_health가 활성화되어 있습니다. 시스템 상태 마녀 행이 “sql_exit_invoked”인 것을 알았습니다.

system_health_sql_exit_invoked

해당 행에 대한 자세한 정보를 찾으려고합니다. 무엇 않습니다 그 의미? 나는 인터넷을 통해 찾을 수있는 유일한 정보는 SQLExit ()가 호출 될 때 그런 일이 있다는 것입니다 그것은 (해당 링크에만 SQL 2012 년 이후 로그인 사용자들은 MSDN 웹 사이트 )

그래서 내 질문은 : 내 로그에서 이것을 볼까 걱정해야합니까? 문제가있는 서버에서만 찾을 수 있으며 다른 7 대의 서버에서는 찾을 수 없습니다. (모두 SQL Server 2016 Standard 에디션입니다)

아무도 이것에 대해 더 많은 정보를 줄 수 있습니까?



답변

확장 이벤트는 문서화가 잘되어 있지 않습니다.

디버그 채널 확장 이벤트는 훨씬 더 잘 문서화되어 있지 않습니다.

필자의 테스트에 따르면 다음 이벤트 위치의 단서로 해당 이벤트 항목의 “shutdown_option”값을 사용해야합니다. 제한된 테스트에서 의미하는 바는 다음과 같습니다.

  • ORDERLY_SHUTDOWN
    • 서비스를 완전히 다시 시작 또는 중지 (Config Manager 사용, 서비스 스냅인 등)
    • Windows를 완전히 다시 시작하십시오 (시작 메뉴-> 종료 / 다시 시작)
  • NICE_SHUTDOWNSHUTDOWN;-T-SQL 명령을 사용하여 서비스를 중지하십시오.
  • FAST_SHUTDOWNSHUTDOWN WITH NOWAIT;-T-SQL 명령을 사용하여 서비스를 중지하십시오.

또한 다음을 시도했지만 확장 이벤트 세션에서 아무것도 등록하지 않았습니다 .

  • 전원 버튼을 눌러 Windows 종료
  • 작업 관리자에서 sqlservr.exe 프로세스를 종료하십시오.

SHUTDOWN_NOT_SET이벤트 버전을 실행할 수 없어서 미스터리로 남아 있습니다.


스크린 샷에서 ORDERLY_SHUTDOWN이 시나리오의 옵션임을 알 수 있습니다. 이 경우 서비스 또는 Windows PC가 완전히 종료 된 것 같으므로 Windows 이벤트 뷰어 “시스템”로그를보고 시스템이 다시 시작되는 이유 또는 SHUTDOWN 명령을 실행하는 서비스 / 구성 요소를 확인합니다. SQL Server 서비스로.

행운을 빕니다!