我们正在尝试在这里测试基于SQL 2005的新软件.我们希望看到当插入/更新期间软件使用的其中一个表被锁定时它将如何响应.
在SQL 2005中有没有办法可以模拟这个?这样我们就可以看到我们如何处理前端的错误?
Mit*_*eat 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
Run Code Online (Sandbox Code Playgroud)
使用另一个会话,
做一个 BEGIN TRANSACTION
呼叫 UPDATE table set columnName = columnName
运行测试
验证您的结果
COMMIT TRAN / ROLLBACK TRAN 交易