システムヘルスに「sql_exit_invoked」がある場合、それはどういう意味ですか?


9

SQL Server 2016 Standardサーバーの1つに問題があります。私は8つの本番サーバーを使用していますが、ログにトレースが記録されずにランダムにクラッシュするのはこのサーバーだけです。

system_healthを有効にしています。「sql_exit_invoked」であるシステムヘルス魔女の行があることに気づきました。

system_health_sql_exit_invoked

その行の詳細情報を見つけようとしています。どういう意味ですか?インターネットで見つけた唯一の情報は、SQLExit()が呼び出されたときに発生し、SQL 2012以降にのみログに記録されるということです(msdn Webサイトで利用可能なリンク)。

sql_exit_description

だから私の質問は:これを私のログで見るのを心配するべきですか?これは問題のあるサーバーでのみ見つかり、他の7つのサーバーでは見つかりません。(それらはすべてSQL Server 2016 Standardエディションです)

誰かがこれについてもっと情報をくれますか?


1
イベントはシャットダウン時にのみ生成されるため、他のサーバートレースからロールオフされた可能性がありますか?FYI、可能な値はFAST_SHUTDOWNNICE_SHUTDOWNORDERLY_SHUTDOWNSHUTDOWN_NOT_SETに係るSELECT * FROM sys.dm_xe_map_values WHERE name = 'sql_shutdown_option';
ダングスマン

回答:


5

拡張イベントはかなり不十分に文書化されています。

デバッグチャネル拡張イベントは、さらに不十分に文書化されています。

私のテストに基づいて、これらのイベントエントリの「shutdown_option」値を、次にどこを見ればよいかという手掛かりとして使用する必要があります。これが私の限定的なテストでの意味です。

  • ORDERLY_SHUTDOWN
    • サービスを完全に再起動または停止します(構成マネージャー、サービススナップインなどを使用)
    • 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サービスに。

幸運を!


おかげで、とても助かります!次に、この特定のケースでは、OSが再起動された可能性があるため、心配する必要がないことを知っています(ITチームで検証します)
Danielle Paquette-Harvey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.