http://technet.microsoft.com/zh-cn/library/ms191242.aspx
SQL Server 2005 联机丛书(2007 年 9 月)将死锁减至最少
使用基于行版本控制的隔离级别
如果将 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON,则在已提交读隔离级别下运行的事务在读操作期间将使用行版本控制而不是共享锁。
注意:
某些应用程序依赖于已提交读隔离的锁定和阻塞行为。对于这些应用程序,要启用此选项必须进行一些更改。
快照隔离也使用行版本控制,该级别在读操作期间不使用共享锁。必须将 ALLOW_SNAPSHOT_ISOLATION 数据库选项设置为 ON,事务才能在快照隔离下运行。
实现这些隔离级别可使得在读写操作之间发生死锁的可能性降至最低。
章周安(章周安) 12:47:01
已提交读隔离级别,通过将 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON 来使用行版本控制,如下面的代码示例所示:
复制代码
ALTER DATABASE AdventureWorks
SET READ_COMMITTED_SNAPSHOT ON;
为 READ_COMMITTED_SNAPSHOT 启用数据库后,在已提交读隔离级别下运行的所有查询将使用行版本控制,这意味着读取操作不会阻止更新操作。
