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?
根據 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
藉此產生一個死結。
建立測試資料
訊息 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?
相关文章推荐
- Mysql JDBC 连接串参数说明
- Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- Installation of Oracle 11g Release 2 (11.2.0.1.0) on RedHat EL 5, (Oracle) Enteprise Linux 5 and Cen
- SQL 重命名表、字段、存储过程名sp_rename
- SQL 创建存储过程PROCEDURE
- 那些天zabbix踩的坑
- Linux Redis安装及使用
- 页面提交数据到数据库乱码问题
- MySQL 10061错误
- SQL注入测试平台 SQLol -6.CHALLENGES挑战
- oracle arvhivelog、noarchivelog与mount的关系
- zabbix3.0.2 监控oracle高可用dataguard的standby库状态详细过程
- mysql C api 多线程多连接 存储过程 锁表问题
- MYSQL常用命令
- mysql下的加密解密函数
- sqlite3中的数据类型
- mysql 批量更新多条记录(且不同值)的实现方法
- 实验一、熟悉ORALCE环境并练习SQL操作
- 新安装的mysql必须调整的10项配置
- mysql C api 多线程多连接 客户端实现