新たな既定のセッション
SQL Server 2008 から提供されている system_health セッションですが、SQL Server 2012 ではもう1つのセッションが既定で提供されています。AlwaysOn_health セッションがそのセッションとなります。AlwaysOn_health はそのセッション名から想像がつくかと思いますが、AlwaysOn 可用性グループのイベントをキャプチャします。このセッションで次のような可用性グループのイベントをキャプチャしています。
- AlwaysOn DDL の実行
- リースの期限切れ
- レプリカ マネージャの状態の変更
- レプリカの状態の変更
- レプリカの役割の変更
- REDO スレッドがロックの獲得待ちが発生した場合
- エンド ポイントの関連
- AlwaysOn 接続タイムアウト
- リスナーの開始/停止
- Windows Server フェールオーバー クラスタの問題
- 可用性グループ リソースの失敗
- 自動ページ修復
- データベースのサスペンド/レジューム
AlwaysOn_health は既定で実行されていません。[新しい可用性グループ ウィザード]で可用性グループを構成すると自動で開始されるようになります。
AlwaysOn_health セッションのターゲットは event_file です。system_health セッションと同じログ フォルダに AlwaysOn_health_*.xel のファイル名でイベント データが保存されます。
また、<インスタンス ディレクトリ>\MSSQL\Install\u_tables.sql に DDL が含まれています。
ここまで紹介してきた機能の他にも .NET Framework のライブラリが提供されユーザー アプリケーションからイベント データを参照が可能になっています。また、PowerShell で操作が可能になるなど、ユーザビリティは向上しています。使いやすくなった拡張イベントをトラブルシューティングのツールの 1 つとしてご利用いただければと思います。
この記事は参考になりましたか?
- あたらしいSQL Server/Denaliの世界連載記事一覧
- この記事の著者
-
坂輪貴行(サカワ タカユキ)
日本マイクロソフトの Premier Field Engineering 部にて、SQL Server ユーザーの支援を行う。前職はシステム エンジニアであり、長く Sybase を使用したプロジェクトに従事。業界歴 14 年の月一ゴルファー。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア