Was bedeutet es, wenn Sie "sql_exit_invoked" in System Health haben?

9

Ich habe Probleme mit einem meiner SQL Server 2016 Standard-Server. Ich habe 8 Produktionsserver und dieser ist der einzige, der zufällig abstürzt, ohne dass eine Spur im Protokoll vorhanden ist.

Ich habe system_health darauf aktiviert. Ich habe festgestellt, dass ich eine Zeile im Systemzustand habe, die "sql_exit_invoked" lautet.

system_health_sql_exit_invoked

Ich versuche, weitere Informationen in dieser Zeile zu finden. Was bedeutet das? Die einzige Information, die ich über das Internet gefunden habe, ist, dass es passiert, wenn SQLExit () aufgerufen wird und dass es erst seit SQL 2012 protokolliert wird. (Link auf der msdn-Website verfügbar )

sql_exit_description

Meine Frage lautet also: Sollte ich mir Sorgen machen, dies in meinem Protokoll zu sehen? Ich finde dies nur auf meinem problematischen Server und nicht auf einem der anderen 7 Server. (Alle von ihnen sind SQL Server 2016 Standard Edition)

Kann mir jemand mehr Informationen dazu geben?

Danielle Paquette-Harvey
quelle
1
Da das Ereignis nur beim Herunterfahren generiert wird, ist es möglicherweise von den anderen Server-Traces abgerollt? FYI, sind die möglichen Werte FAST_SHUTDOWN, NICE_SHUTDOWN, ORDERLY_SHUTDOWN, SHUTDOWN_NOT_SETnachSELECT * FROM sys.dm_xe_map_values WHERE name = 'sql_shutdown_option';
Dan Guzman

Antworten:

5

Erweiterte Ereignisse sind ziemlich schlecht dokumentiert.

Erweiterte Debug-Channel-Ereignisse sind noch schlechter dokumentiert.

Basierend auf meinen Tests müssen Sie den Wert "shutdown_option" aus diesen Ereigniseinträgen als Hinweis darauf verwenden, wo Sie als Nächstes suchen müssen. Folgendes bedeuten sie in meinen begrenzten Tests:

  • ORDERLY_SHUTDOWN
    • Starten Sie den Dienst neu oder stoppen Sie ihn sauber (mithilfe von Config Manager, Services Snap-In usw.)
    • Windows sauber neu starten (Startmenü -> Herunterfahren / Neustart)
  • NICE_SHUTDOWN- Beenden Sie den Dienst mit dem SHUTDOWN;Befehl T-SQL
  • FAST_SHUTDOWN- Beenden Sie den Dienst mit dem SHUTDOWN WITH NOWAIT;Befehl T-SQL

Beachten Sie, dass ich auch Folgendes versucht habe und sie in der Sitzung "Erweiterte Ereignisse" nichts registriert haben :

  • Fahren Sie Windows herunter, indem Sie den Netzschalter gedrückt halten
  • Beenden Sie den Prozess sqlservr.exe im Task-Manager

Ich konnte die SHUTDOWN_NOT_SETVersion des Ereignisses nicht zum Feuern bringen, so dass man ein Rätsel bleibt.


In Ihrem Screenshot sehe ich, dass ORDERLY_SHUTDOWN die Option in Ihrem Szenario ist. In diesem Fall würde ich, da dies ein sauberes Herunterfahren des Dienstes oder des Windows-PCs zu bedeuten scheint, im Protokoll "System" der Windows-Ereignisanzeige nachsehen, warum der Computer neu gestartet wird oder welcher Dienst / welche Komponente einen SHUTDOWN-Befehl ausgibt an den SQL Server-Dienst.

Viel Glück!

Josh Darnell
quelle
danke, das hilft mir sehr! Dann weiß ich, dass ich mir in diesem speziellen Fall keine Sorgen machen muss, da das Betriebssystem wahrscheinlich neu gestartet wurde (ich werde das mit dem IT-Team
überprüfen