SQL Server 2005兩種快照隔離機(jī)制的不同之處
以下的文章主要描述的是SQL Server 2005兩種快照隔離機(jī)制的不同之處,總得來(lái)說(shuō),READ_COMMITTED_SNAPSHOT相對(duì)而言肯其比較適合于原有數(shù)據(jù)庫(kù)設(shè)計(jì)得相對(duì)復(fù)雜,不想做太多更改的情況下。
它不需要去修改以前的存儲(chǔ)過(guò)程。這其實(shí)是READ_COMMITTED隔離級(jí)別的一個(gè)改良版本。
而另外一個(gè)SNAPSHOT則是一個(gè)全新的隔離級(jí)別。
下面是我用第二種方式的一個(gè)例子
創(chuàng)建演示用的數(shù)據(jù)庫(kù)
- create database SnapshotIsolationDemo
- go
- use SnapshotIsolationDemo
- alter database SnapshotIsolationDemo set allow_snapshot_isolation on
- create table test
- ( tid int not null primary key,
- tname varchar(50) not null
- )
- insert into test values(1,'version1')
- insert into test values(2,'version2')
建一個(gè)查詢,這里故意不提交事務(wù)
- use SnapshotIsolationDemo
- begin tran
- update test set tname='version3' where tid=2
- select * from test
再建一個(gè)查詢,模擬另外一個(gè)用戶來(lái)訪問(wèn)
- use SnapshotIsolationDemo
- set transaction isolation level snapshot
- select * from test
清理工作
- use master
- drop database SnapshotIsolationDemo
- go
以上的相關(guān)內(nèi)容就是對(duì)SQL Server 2005兩種快照隔離機(jī)制的比較的介紹,望你能有所收獲。
【編輯推薦】