因此,我正在尝试追踪看起来像是死锁问题的here。我已经使用DBCC TRACEON(1222,-1)和DBCC TRACEON(1204,-1)启用了死锁日志。我想测试以确保日志记录捕捉到死锁,那么如何在MS SQL2005中导致死锁发生?谢谢,
发布于 2011-10-19 04:58:42
下面是一些故意导致死锁的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瞧!这是一个僵局。
发布于 2011-10-19 04:35:44
这应该是可行的:
第一个事务中的
- Update record B in the first transaction and A in the second transaction.
https://stackoverflow.com/questions/7813321
复制相似问题