5、--------------------------------------------接下来我们在SSMS中,开两个会话(查询窗口)做测试,会话A创建会造成阻塞的事务进程,会话B去访问被锁定的记录。 --会话 ABEGIN TRAN;UPDATE Orders SET EmployeeID=7 WHERE OrderID=10248--rollback; --故意不提交或回滚 --会话 BSELECT * FROM Orders WHERE OrderID=10248 分别执行后,因为欲访问的记录是同一条,按照SQLServer「事务隔离级别」和「锁」的默认值,会话B
6、将无法读取该条数据,而且会永远一直等下去(若在现实项目里写出这种代码,就准备被客户和老板臭骂)。-------------------------------------------------------------------------------------------若将会话B先加上SETLOCK_TIMEOUT3000的设置,如下,则会话B会先等待3秒钟,才抛出代号1222的「锁请求已超时」错误信息: --会话 BSET LOCK_TIMEOUT 3000SELECT * FROM Orders WHERE OrderID=10248--SET LOCK_TIM