SQL Server 已提交读快照 测试

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: 小  |  中  |  大  |  超大  

SQL Server 已提交读快照 测试 2014-11-04 16:12 by 杰克小薛, ... 阅读, ... 评论, 收藏, 编辑 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) 会话调整隔离级别(可重复读),查询被阻塞

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航