質問: DB_NAME() ```
回答: > 私の 'キャッチ'ステートメントでは、このSQLコマンドを発行して、他に実行中のものをキャッチします > > デッドロックが発生すると、対象トランザクションはロールバックされます。これにより、すべてのロックが解放され、競合するトランザクションが続行されます。ロールバックが完了した*後に*のみ*、*制御が被害者*セッションに*戻され、例外が発生します。あなたの`catch`が実行されるまでに、並行処理がおそらく完了しているはずです。 あなたがしようとしていることは根本的に間違っています。言うまでもなく、デッドロック情報をキャプチャする方法はすでに*あり*ます。 * デッドロックグラフを保存する(SQL Server Profiler) * SQL Server Profilerでデッドロックを分析する * 拡張イベントを使用して、デッドロックの問題をSQL Serverで積極的に監視する方法 * SQL Serverのデッドロックのキャプチャ また、最後の問題として、 `sys.dm_exec_sessions`権限 : > ユーザーがサーバーに対してVIEW SERVER STATE権限を持っている場合、SQL Serverのインスタンス上で実行されているすべてのセッションが表示されます。それ以外の場合は**、現在のセッションのみが表示されます** 。 > >