SQL Server 2008の特定のテーブルに対してロックされている行を確認する方法はありますか?私はまた、それらをロックしているユーザーを知りたいです。特定のテーブルに対してロックされている行と、SQL Serverでロックしているユーザーを確認します。
4
A
答えて
6
sys.dm_tran_locks
は、すでに694581で述べられています。どの行が実際にロックされているかを確認するには、ロック階層(table-> rowset-> page-> row)を理解し、ロックリソースの記述を解読する必要があります。テーブルロックの場合、オブジェクトIDはsys.objects
、ローセットはpartition_idがsys.partitions
、ページが実際のページIDです。行の場合は、ヒープかbtreeかによって異なりますが、(文書化されていない)%%lockres%%
仮想列を使用して行を見つけることができます。これが単純すぎる場合は、指定された範囲内のすべての行に影響するため、range locksも考慮する必要があります。
物理階層をナビゲートする際の難しさ、特にページロックが関係するときに、ロックの複雑なモデルcompatibility matrixを追加すると、複雑さがhash collisionsで追加され、探しているロックのペースが考慮されます変更に際して、私はあなたが非常におおよその近似を行うことができます。具体的な問題調査のほかに、これを掘り下げることはほとんどありません。私は積み重ねられたロックを積極的に見て、ののような情報をもとに、アプリケーションを聞いてびっくりするだろう。
関連する問題
- 1. SQL Serverテーブルを一定時間ロックし、ロックされているかどうかを確認します
- 2. SQL Serverはテーブルがロックされていますか?
- 3. ロック画面がロックされていないことを確認してください
- 4. ロックステーションのロック時にデータベースのロックを確認してください
- 5. ユーザーがワークステーションにログインしているか、ワークステーションがロックされているかを確認する方法は?
- 6. QMutexをロックしているスレッドを確認してください
- 7. テーブルでSELECTを実行するときにテーブルをロックしていますか?
- 8. 最も競合しているロックを特定しますか?
- 9. ロックされていないファイルが開いていることを確認してください
- 10. C#ファイルがロックされている時間を確認する
- 11. データベースアクセスのロックとロック解除 - データベースがロックされています
- 12. Teradataのロック - テーブルがロックされているかどうかを確認する方法?
- 13. Informixテーブルがロックされています
- 14. ActiveRecordMediator.SaveAndFlushロックSQL Serverテーブル
- 15. SQL Server COMPILEはロックされていますか?
- 16. SQL Serverの1行を挿入するとテーブル全体がロックされます
- 17. flock()を使用してファイルが既にロックされているかどうかを確認しますか?
- 18. ADFS 2.0を使用して、特定のユーザーをSQL Serverに対して認証できますか?
- 19. 画面がロックされていることを確認するには
- 20. エラー5:データベースが開いているかロックされていないかを確認します。
- 21. Windowsの画面がロックされていることを確認してください
- 22. T-SQLデータベース内のすべてのテーブルに対してロックのないビューを作成します。
- 23. テーブルのSQL Serverをロックする
- 24. Javaスレッドがすでにロックしているオブジェクトをロックしようとしています
- 25. SQL Server Management Studio 2008でデータ行を編集するときに、データ行がロックされていませんか?
- 26. ロックされていないSQLビュー
- 27. Subversion:ロックされているか、ロックが解除されていますか?
- 28. SQL Server - 特定のユーザーに対してトリガーが発動しない
- 29. OSX:画面がロックされていることを確認してください
- 30. アプリケーションがロックされていることを検出します。
[テーブルに保持されているロックを確認する方法](http://stackoverflow.com/questions/694581/how-to-check-which-locks-are-held-on-a-table ) – Oded
私はそれを見ましたが、ロックされている特定のレコードをどのように取得するのかと不思議に思っていました。 –
@ジェフ:あなたはあなたの質問に自由に編集できます。 –