1. ホーム
  2. sql

[解決済み】テーブル上でどのロックが保持されているかを確認する方法

2022-04-15 23:40:55

質問

クエリバッチに対して、どのデータベースロックがどの行に適用されているかを確認するにはどうすればよいですか?

テーブルの行レベルのロックをリアルタイムでハイライトするツールはありますか?

DB: SQL Server 2005

解決方法は?

他の回答に補足します。 sp_lock は、実行中の全プロセスの完全なロック情報をダンプするために使用することもできます。 出力は圧倒的ですが、何がロックされているのかを正確に知りたいのであれば、実行する価値のあるものです。 私は通常、これを sp_who2 を使えば、ロックの問題を素早く突き止めることができます。

friendlier"には複数のバージョンがあります。 sp_lock プロシージャは、該当する SQL Server のバージョンによって、オンラインで入手できます。

あなたの場合、SQL Server 2005の場合。 sp_lock はまだ利用可能ですが、非推奨となりましたので、現在は sys.dm_tran_locks ビューを表示します。 sp_lock 関数を "roll your own" する方法の例があります。 こちら .