ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL Serverの拡張イベントとは?

今回は、SQL Serverの拡張イベントについて簡単に機能を確認しながら、概要をお話していこうと思います。

SQL Serverの拡張イベントとは?

SQL Serverの拡張イベントは、パフォーマンスの問題が発生した場合のトラブルシューティングや、問題の調査に必要な最小限のデータを収集することができます。

日本語だと拡張イベントと呼称しますが、英語だと「Xevent」と呼称されているようです。

また、拡張イベントは非推奨になった SQL Trace と SQL Server Profiler の機能に置き換わるものとなるようです。SQL Server Profilerってすでに非推奨なんですね。。

拡張イベントの簡単な使い方

それでは、拡張イベントの使い方を確認するために今回はデッドロックの調査に便利なデータを収集してみたいと思います。

SSMSでオブジェクトエクスプローラーから、「管理」-「拡張イベント」-「セッション」を右クリック、「新規セッション」を押下します。

拡張イベント新規セッション作成

以下のようにセッション作成ダイアログ画面が開くと思います。「全般」ページでは、任意のセッション名を入力します。あとスケジュール欄の「セッションの作成後すぐにイベントセッションを開始する」にチェックを入れておきます。

セッションの作成-全般

「イベント」ページでは、イベントライブラリから今回は「xml_deadlock_report」を選択します。以下のように選択したイベント欄に表示されていればOKです。

セッションの作成-イベント

あと、「データストレージ」および「詳細設定」ページですが、今回は何も変更しないで、そのまま「OK」ボタンを押下すれば準備は完了です。

上記設定が完了すると、以下の通り作成した拡張イベントが表示されます。

拡張イベント作成完了

それでは、動作確認をしていきます。さきほど作成した拡張イベントを右クリックし、「ライブデータの監視」を押下します。

拡張イベントライブデータの監視

すると、以下のようにライブデータの監視をしている風の画面が開きます。これで準備完了です。適当にデッドロックを発生させます。

拡張イベントライブデータの監視②

以下のようにデッドロックを発生させました。それでは、先ほどのライブデータの監視画面を見てみましょう。

デッドロック監視

おお、何やら出力されてますね!しっかりデッドロックの情報が確認できます。

拡張イベントライブデータの監視③
ライブデータの監視④

おわりに

いかがでしたでしょうか。私自身、拡張イベントは最近知ったのですが色々なイベントがありますので、是非確認していただければと思います。

話は変わりますが、SQL Serverたくさん機能ありますよね。嬉しいのですが、使いこなすのが大変です。ですが、ここらへんだいたいすべてGUIで操作できるるのでとっつきやすい感じはします。
これからも変わらず、色々と知識深めたいなぁと思います。

最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。