我们正在尝试在此处测试基于SQL 2005的新软件。 我们希望看到当插入/更新期间软件正在使用的某个表被锁定时它将如何响应。
在SQL 2005中有没有办法可以模拟这个? 这样我们就可以看到我们如何处理前端的错误了?
答案 0 :(得分:31)
在SQL Server Management Studio中,运行此TSQL脚本(将超时设置为适合您的任何内容)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
UPDATE table
SET ColumnName = ColumnName
WAITFOR DELAY '00:02:00' -- 2 minutes hh:mm:ss
-- Run your test while table is locked and delay is counting down
ROLLBACK TRANSACTION
答案 1 :(得分:5)
使用其他会话,
执行BEGIN TRANSACTION
致电UPDATE table set columnName = columnName
运行测试
验证结果
COMMIT TRAN / ROLLBACK TRAN
交易