锁定SQL表一段时间

and*_*eas 10 sql

我们正在尝试在这里测试基于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)


Jag*_*mag 5

使用另一个会话,

  1. 做一个 BEGIN TRANSACTION

  2. 呼叫 UPDATE table set columnName = columnName

  3. 运行测试

  4. 验证您的结果

  5. COMMIT TRAN / ROLLBACK TRAN 交易