您的位置:首页 > 数据库

SQL模擬死結產生

2016-05-28 08:45 288 查看
引用自:http://jengting.blogspot.tw/2012/06/sql.html

根據 MSDN 將死結數量降至最低 裡的圖型模擬死結產生 ~~





在 SSMS 內開啟兩個 T-SQL 查詢(兩個執行緒),利用下面語法來執行,請先執行 T-SQL 查詢 1,再執行 T-SQL 查詢 2。

步驟簡易說明:

Step 1:建立一個 T-SQL 查詢 1,開啟一個交易,並進行更新 Supplier 資料

Step 2:建立另一個 T-SQL 查詢 2,開啟一個交易,並進行更新 Part

Step 3:回到 T-SQL 查詢 1,更新 Part

Step 4:回到 T-SQL 查詢 2,更新 Supplier

藉此產生一個死結。

建立測試資料

T-SQL 查詢 1

T-SQL 查詢 2

死結錯誤訊息

訊息 1205,層級 13,狀態 45,行 1
交易 (處理序識別碼 52) 在 鎖定 資源上被另一個處理序鎖死並已被選擇作為死結的犧牲者。請重新執行該交易。

參考資料:
MSDN 將死結數量降至最低

How to troubleshoot Deadlock in SQL Server 2005

Example of Deadlock | SQL Server Deadlock Script

How can I simulate a deadlock for testing purposes?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: