环境:SQL SERVER 2008 R2,Windows。
CONNECTION-1:执行以下操作
BEGIN TRANSACTION
UPDATE Check_lock with (rowlock)
set LayoutType = 98
where USERID between 1 and 7;
WAITFOR DELAY '000:10:00';
COMMIT TRANSACTION;
CONNECTION-2:执行以下
BEGIN TRANSACTION
UPDATE Check_lock with (rowlock)
set LayoutType = 98
where USERID between 15 and 20;
COMMIT TRANSACTION;
问题陈述:我通过 SQL Server Management Studio 执行上述事务,同时与同一台机器上的同一服务器/数据库建立两个连接。虽然表是相同的 & 事务同时执行(不是 100% 同时执行,因为手动执行)但是更新不同的行(行级锁定)那么为什么“Conneciton-2”事务没有立即提交并进入等到第一个事务未提交/完成。??
如果我没有清楚地描述我的场景,请告诉我。