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
sta并执行以下代码:
UPDATE dbo.DeadLockTest2 SET col1 = 1
Voila!这是一个僵局。
5
这应该工作:
- 将两个记录,A和B.
- 打开两笔交易。
- 在第一个事务中更新记录A,在第二个事务中更新记录B.
- 当你肯定知道这些更新完成后:
- 更新记录B在第二交易的第一交易和A。
相关问题
- 1. 永久互斥锁造成死锁?
- 2. 如何故意造成插入
- 3. 你如何故意造成SoapFault测试?
- 4. 为什么它不会造成死锁?
- 5. Autofac造成的棘手的IIS死锁
- 6. MPI_Isend和MPI_Irecv似乎造成了死锁
- 7. 使用信号量造成死锁
- 8. PyMongo和gevent造成的死锁
- 9. GCD和webView造成的死锁
- 10. 避免并发删除造成死锁
- 11. 如何避免一个容易造成死锁?
- 12. 如何避免缓慢查询造成的死锁
- 13. 由于更新锁定造成的死锁问题
- 14. MPI中意外的死锁
- 15. Executor中的意外死锁
- 16. 如何成功导致死锁
- 17. 解决oracle中由并行触发造成的死锁
- 18. SQL Azure:并发删除操作造成的死锁
- 19. System.out.println和挂起的线程造成死锁
- 20. 使用非阻塞MPI通信造成的死锁
- 21. 防止WCF双工回拨服务造成死锁问题
- 22. Postgresql锁死锁
- 23. ASP.NET Web应用程序死锁 - 认为它是由SQL Server锁定造成的
- 24. Mysql事务正在等待已被授予的锁。这是造成死锁
- 25. 如何找到死锁?
- 26. 如何克服死锁
- 27. System.out.format如何防止死锁?
- 28. RMI如何发生死锁?
- 29. 如何避免mysql死锁?
- 30. 如何调试死锁?
如果你的其他文章中的问题是死锁而不是阻塞,你应该得到一个死锁错误而不是超时错误。 –