首页 > 代码库 > SQL Server 已提交读快照测试
SQL Server 已提交读快照测试
1. 打开数据库 已提交读快照 选项
2. 数据库 已提交读快照 模式下的测试
a) 测试表 Test
b) 开启事务1,更新数据C2 = ‘200‘(未提交)
BEGIN TRAN UPDATE Test SET C2 = ‘200‘ WHERE C1 = ‘A‘-- COMMIT
c) 查询数据(查询没有被阻塞,C2 = ‘100‘)
SELECT * FROM Test
d) 开启事务2,更新数据C2 = ‘300‘(未提交),更新操作被阻塞(等待事务1提交)
BEGIN TRAN UPDATE Test SET C2 = ‘300‘ WHERE C1 = ‘A‘-- COMMIT
e) 提交事务1,再次查询数据,数据已经被更新成 ‘200‘,事务2阻塞已经解除
SELECT * FROM Test
f) 提交事务2,查询数据,数据已经被更新成 ‘300‘
SELECT * FROM Test
3. 已提交读模式 vs 已提交读快照 区别:
a) 如果有事务未提交,读操作会被阻塞
4. 会话级别设置数据库隔离级别
a) 原来的隔离级别是已提交读快照,查询不会被阻塞
b) 会话调整隔离级别(可重复读),查询被阻塞
SQL Server 已提交读快照测试
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。