インシデント発生時に遅延しているSQL Serverをトリアージする
使うタイミング: ユーザーからタイムアウト報告が上がっており、60秒以内に何が何をブロックしているか把握する必要があるとき。
前提条件
- PerformanceMonitorアプリがインストール済みで、対象サーバーに接続されていること — GitHubリリースページからダウンロードし、監視用DBに接続してください
- 対象ログインにVIEW SERVER STATEが付与されていること — GRANT VIEW SERVER STATE TO [monitor_login]
- MCPがクライアントに登録されていること — claude mcp add --transport http --scope user sql-monitor http://localhost:5151/
フロー
-
ヘルスチェックの概要を取得するヘルスチェックを実行して — 現在、待機、ブロッキング、メモリプレッシャーに問題はある?✓ コピーしました→ 異常値を示すメトリクスの一覧
-
最大の問題にドリルダウンするブロッキングが最大の問題なら、ヘッドブロッカーのチェーンとブロッキングセッションのSQLテキストを見せて。✓ コピーしました→ 具体的なSPIDとクエリテキスト
-
推奨アクションを得るそのSPIDをkillすべき?待つべき?それとも不足インデックスがあれば防げた?具体的に教えて。✓ コピーしました→ 根拠付きの明確な推奨アクション1つ
結果: kill、待機、インデックス追加、エスカレーションなど、具体的な次のアクションが付いた診断結果を5分以内に取得できます。
注意点
- コミット直前のブロッカーをkillすると、かえって被害が拡大する可能性がある — killする前に、必ず実行時間と未コミットのトランザクションを保持しているかを確認してください
- 監視DBのメトリクスは、コレクター間隔分だけ実サーバーから遅延している — リアルタイムの状況確認には、集約履歴ではなく「現在の状態」ツールを使用してください