读取已提交的快照隔离和事务

时间:2013-06-07 13:50:34

标签: sql sql-server sql-server-2005

我正在考虑在SQL 2005数据库上启用Read Committed Snapshot Isolation以尝试获得一些性能。设置此隔离级别是否会影响所有查询,无论它们是否使用BEGIN TRAN和COMMIT TRAN?根据MSDN:

“启用快照隔离后,将在tempdb中维护每个事务的更新行版本。”

我不清楚“transaction”是指所有sql查询还是仅显式使用事务的查询。

1 个答案:

答案 0 :(得分:3)

每个(有用)语句都在事务中运行。如果在运行特定查询时没有打开,则默认情况下SQL Server会打开一个,运行查询,然后提交它。这称为Autocommit mode

可以更改此行为,以便它不会自动执行第三步(提交)并使事务保持打开状态。这叫做Implicit Transaction Mode