回答:
イベント通知を使用して、サーバーでデッドロックが発生したときに通知を受けることができます。
見る:
追加リンク:
私は2つの主要な問題の自動サーバー側トレースを使用します。
長いクエリ(環境に長い期間を設定します)
デッドロック-デッドロックグラフとLock:Deadlockチェーンを確認する
毎日トレースファイルを取得し、アクションを監視できます。スケジュールされたイベントが問題を引き起こしていないか確認してください。プロダクションのプロファイリングの詳細については、このプロダクションのデータベースでのSQLプロファイラーの使用に関する質問をご覧ください。
SQL Server管理パックを備えたSystem Center Operations Manager(SCOM)は、メッセージ1205のログを有効にすると、デッドロックを警告できます。次のSQLクエリで有効にできますEXEC sp_altermessage 1205, 'WITH_LOG', 'true'
。
また、「オブジェクト名とインデックス名がデッドロックグラフに入力されないのはなぜですか?」に対する私の回答を参照してください。イベントバッファーからデッドロック情報を引き出し、デッドロックグラフをxdlファイルとして書き込むPowerShellスクリプトの場合、SQL Management Studio 2012以降で開くか、メモ帳で表示して詳細を確認できます。