Co to znaczy, że masz „sql_exit_invoked” w System Health?

9

Mam problemy z jednym z moich serwerów SQL Server 2016 Standard. Mam 8 serwerów produkcyjnych, a ten jest jedynym, który ulega awarii losowo bez śladu w dzienniku.

Mam włączone system_health. Zauważyłem, że mam wiersz w kondycji systemu, który ma „sql_exit_invoked”.

system_health_sql_exit_invoked

Próbuję znaleźć więcej informacji w tym wierszu. Co to znaczy? Jedyne informacje, które znalazłem w Internecie, to to, że zdarza się, gdy wywoływana jest funkcja SQLExit () i że jest ona rejestrowana dopiero od SQL 2012. (link dostępny na stronie msdn )

sql_exit_description

Więc moje pytanie brzmi: czy powinienem się martwić, aby zobaczyć to w moim dzienniku? Znajduję to tylko na moim problematycznym serwerze, a nie na żadnym z pozostałych 7 serwerów. (Wszystkie z nich to wersja SQL Server 2016 Standard Edition)

Czy ktoś może dać mi więcej informacji na ten temat?

Danielle Paquette-Harvey
źródło
1
Ponieważ zdarzenie jest generowane tylko podczas zamykania, być może zjechało z innych śladów serwera? Waszej informacji, możliwych wartości FAST_SHUTDOWN, NICE_SHUTDOWN, ORDERLY_SHUTDOWN, SHUTDOWN_NOT_SETwedługSELECT * FROM sys.dm_xe_map_values WHERE name = 'sql_shutdown_option';
Dan Guzman

Odpowiedzi:

5

Rozszerzone zdarzenia są dość słabo udokumentowane.

Rozszerzone zdarzenia kanału debugowania są jeszcze gorzej udokumentowane.

Na podstawie moich testów będziesz musiał użyć wartości „shutdown_option” z tych wpisów zdarzeń jako wskazówki, gdzie szukać dalej. Oto, co oznaczają w moich ograniczonych testach:

  • ORDERLY_SHUTDOWN
    • zrestartuj lub zatrzymaj usługę w czysty sposób (za pomocą Menedżera konfiguracji, przystawki Usługi itp.)
    • zrestartuj system Windows dokładnie (menu Start -> zamknij / uruchom ponownie)
  • NICE_SHUTDOWN- zatrzymać usługę za pomocą SHUTDOWN;komendy T-SQL
  • FAST_SHUTDOWN- zatrzymać usługę za pomocą SHUTDOWN WITH NOWAIT;komendy T-SQL

Zauważ, że próbowałem również następujących i nie zarejestrowali niczego w sesji Rozszerzonych zdarzeń:

  • zamknij system Windows, przytrzymując przycisk zasilania
  • zabij proces sqlservr.exe z Menedżera zadań

Nie udało mi się uruchomić SHUTDOWN_NOT_SETwersji wydarzenia, więc pozostaje tajemnicą.


Na twoim zrzucie ekranu widzę, że opcja ORDERLY_SHUTDOWN jest opcją w twoim scenariuszu. W takim przypadku, ponieważ wydaje się, że oznacza to czyste zamknięcie usługi lub komputera z systemem Windows, zajrzałbym do dziennika „Systemu” Podglądu zdarzeń systemu Windows i zobaczyłem, dlaczego komputer jest restartowany lub jaka usługa / składnik wydaje polecenie SHUTDOWN do usługi SQL Server.

Powodzenia!

Josh Darnell
źródło
dzięki, to mi bardzo pomaga! Wiem wtedy, że w tym konkretnym przypadku nie muszę się martwić, ponieważ system operacyjny został prawdopodobnie ponownie uruchomiony (zweryfikuję to w zespole IT)
Danielle Paquette-Harvey,