我正在考虑在SQL 2005数据库上启用Read Committed Snapshot Isolation以尝试获得一些性能。设置此隔离级别是否会影响所有查询,无论它们是否使用BEGIN TRAN和COMMIT TRAN?根据MSDN:
“启用快照隔离后,将在tempdb中维护每个事务的更新行版本。”
我不清楚“transaction”是指所有sql查询还是仅显式使用事务的查询。
答案 0 :(得分:3)
每个(有用)语句都在事务中运行。如果在运行特定查询时没有打开,则默认情况下SQL Server会打开一个,运行查询,然后提交它。这称为Autocommit mode。
可以更改此行为,以便它不会自动执行第三步(提交)并使事务保持打开状态。这叫做Implicit Transaction Mode。