所以我试图找出看起来像死锁问题的here。我使用DBCC TRACEON(1222,-1)和DBCC TRACEON(1204,-1)启用了死锁记录。我想测试以确保日志记录捕获死锁,那么我怎样才能在MS SQL 2005中出现?谢谢,
答案 0 :(得分:34)
这是一些故意造成死锁的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
瞧!那是一个僵局。
答案 1 :(得分:5)
这应该有效: