私はデッドロック問題のようなものを追跡しようとしていますhere。 DBCC TRACEON(1222、-1)とDBCC TRACEON(1204、-1)を使用してデッドロックログを有効にしました。私はロギングがデッドロックをキャッチすることを確認するためにテストしたいのですが、どうすればMS SQL 2005で発生させることができますか?おかげで、意図的にデッドロックを引き起こす方法はありますか?
10
A
答えて
30
ここでは故意にデッドロックが発生するためにいくつかのT-SQLです。
オブジェクトの作成:
CREATE TABLE dbo.DeadLockTest (col1 INT)
INSERT dbo.DeadLockTest SELECT 1
CREATE TABLE dbo.DeadLockTest2 (col1 INT)
INSERT dbo.DeadLockTest2 SELECT 1
は、新しいクエリウィンドウを開き、このコードを貼り付けて、それを実行します。
BEGIN TRAN
UPDATE dbo.DeadLockTest SET col1 = 1
は別の新しいクエリウィンドウを開き、このコードを貼り付け、実行します。
BEGIN TRAN
UPDATE dbo.DeadLockTest2 SET col1 = 1
UPDATE dbo.DeadLockTest SET col1 = 1
最初のクエリウィンドウに戻ります(最初のBEGIN TRAN
文字列このコードを実行してください:
UPDATE dbo.DeadLockTest2 SET col1 = 1
Voila!それはデッドロックです。
5
これは動作するはずです:
- 挿入二つのレコード、AとB
- オープン2つの取引を。
- 最初のトランザクションでレコードAを更新し、2番目のトランザクションでBを更新します。 2番目のトランザクションの最初の取引とAで
- 更新レコードBを:あなたは、それらの更新が行われて確実に知る
- 。
- 更新レコードBを:あなたは、それらの更新が行われて確実に知る
関連する問題
- 1. デッドロックは、以下のコードはデッドロックを引き起こすReentrantLockの
- 2. pthread_mutex_lockがデッドロックを引き起こす
- 3. Elasticsearchクエリで意図的にnull値を返す方法はありますか?
- 4. Netty ChannelFuture通知がデッドロックを引き起こさない方法
- 5. ドッカーのコンテナを意図的にクラッシュさせる方法はありますか?
- 6. この関数はマルチスレッド状態でデッドロックを引き起こしますか?
- 7. PostgreSQL --jobsパラメータを使用したときにデッドロックを引き起こす方法を見つけ出す方法
- 8. 1つのトランザクションで複数の更新がデッドロックを引き起こす可能性がありますか?
- 9. UIのデッドロックを引き起こすScrollviewスクロール。 runloopモードを変更しますか?
- 10. http.ResponseWriter.WriteHeader()がデッドロックを引き起こしました
- 11. pthread_mutex_lockとpthread_cond_wait /シグナルがデッドロックを引き起こす
- 12. 意図的にUIViewのアンチエイリアスをすべてオフにする方法はありますか?
- 13. SwingWorkerエラーを引き起こす方法
- 14. $ digest cycleを引き起こさずに$ q通知を呼び出す方法はありますか?
- 15. 別の意図がありますか?
- 16. dijitsによって引き起こされるメモリリークを回避する方法はありますか?
- 17. システムがクラッシュまたは再起動したときに通知する予定/意図はありますか?
- 18. はデバッグの目的でエラーを引き起こしますか?
- 19. Ajaxこれには任意の方法がありますか?
- 20. このコードは潜在的なメモリリークを引き起こす可能性がありますか?
- 21. コミットがデッドロックを引き起こさない理由
- 22. "git pull"が引き起こす変更をレビューする方法はありますか?
- 23. UML図を自動的に生成する方法はありますか?
- 24. C++で問題を引き起こす次のコードはありますか?
- 25. 他のアクションを引き起こすiPhoneアプリはありますか?
- 26. 競合状態を引き起こすC用のテストフレームワークはありますか?
- 27. シグナルハンドラを使用して、セグメンテーションフォールトを引き起こす変数に適切なメモリを動的に割り当てる方法はありますか?
- 28. NSStringのdataUsingEncodingを引き起こす方法:メソッドは、nilを返しますか?
- 29. CGPDFPage図面がメモリの問題を引き起こす(Swift 3)
- 30. MPI_Isend/Recv-デッドロックはありますか?
ブロックするのではなく、他の投稿の問題がデッドロックの場合は、タイムアウトエラーではなくデッドロックエラーが発生するはずです。 –