我正在争论是否还需要在tempdb本身上设置 ALLOW SNAPSHOT ISOLATION,还是仅在用户数据库上设置功能才能启动(除了引用此功能的代码之外)?
大多数文章和示例似乎只在用户数据库本身上设置属性,并将tempdb保持为 OFF。但后来我发现了这个链接Pro SQL Server 2005 Database Design and Optimization,它说:
(您甚至可以在 tempdb 上执行此操作)
alter database tempdb set allow_snapshot_isolation on
除了用户数据库还是仅用户数据库之外,是否还需要在tempdb上设置它?
主要目的是用于需要启用快照隔离的应用程序。
没有
为您的用户将在其中运行查询的用户数据库启用快照隔离就足够了。为 tempdb 打开它对于它的工作是不必要的。
行版本控制将在 tempdb 中进行,除非您启用加速数据库恢复,无论是否为 tempdb 启用了快照隔离。