码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server 已提交读快照测试

时间:2014-11-04 17:20:05      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   sp   数据   div   on   

1. 打开数据库 已提交读快照 选项

bubuko.com,布布扣

 

2. 数据库 已提交读快照 模式下的测试

 

a) 测试表 Test

bubuko.com,布布扣

 

b) 开启事务1,更新数据C2 = ‘200‘(未提交)

BEGIN TRAN 

UPDATE Test SET C2 = 200 WHERE C1 = A

-- COMMIT

 

c) 查询数据(查询没有被阻塞,C2 = ‘100‘)

SELECT * FROM Test

bubuko.com,布布扣

 

d) 开启事务2,更新数据C2 = ‘300‘(未提交),更新操作被阻塞(等待事务1提交)

BEGIN TRAN 

UPDATE Test SET C2 = 300 WHERE C1 = A

-- COMMIT

bubuko.com,布布扣

 

e) 提交事务1,再次查询数据,数据已经被更新成 ‘200‘,事务2阻塞已经解除

SELECT * FROM Test

bubuko.com,布布扣

bubuko.com,布布扣

 

f) 提交事务2,查询数据,数据已经被更新成 ‘300‘

SELECT * FROM Test

bubuko.com,布布扣

 

3. 已提交读模式 vs 已提交读快照 区别:

 

a) 如果有事务未提交,读操作会被阻塞

bubuko.com,布布扣

 

4. 会话级别设置数据库隔离级别

 

a) 原来的隔离级别是已提交读快照,查询不会被阻塞

b) 会话调整隔离级别(可重复读),查询被阻塞

bubuko.com,布布扣

 

SQL Server 已提交读快照测试

标签:style   blog   http   color   os   sp   数据   div   on   

原文地址:http://www.cnblogs.com/xuejiancun/p/4073971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!