我应该跑吗
ALTER DATABASE DbName SET ALLOW_SNAPSHOT_ISOLATION OFF
Run Code Online (Sandbox Code Playgroud)
如果暂时不使用快照事务(TX)隔离(iso)?
换一种说法,
在SQL Server中启用(但暂时不使用)的成本是多少?
- 更新:
在数据库上启用快照TX iso级别不会将READ COMMITTED tx iso更改为默认值.
您可以通过运行来检查它:
use someDbName;
--( 1 )
alter database someDbName set allow_snapshot_isolation ON;
dbcc useroptions;
Run Code Online (Sandbox Code Playgroud)
最后一行显示当前会话的tx iso级别(读取已提交).
因此,启用快照tx iso级别而不更改它不会使用它等等.为了使用它,应该发布
--( 2 )
SET TRANSACTION ISOLATION LEVEL SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
Update2:
我重复[1]中的脚本但启用了SNAPSHOT(但没有打开)但没有启用READ_COMMITTED_SNAPSHOT
--with enabling allow_snapshot_isolation
alter database snapshottest set allow_snapshot_isolation ON
-- but without enabling read_committed_snapshot
--alter database snapshottest set read_committed_snapshot ON
-- OR with OFF
alter database snapshottest set read_committed_snapshot OFF
go
Run Code Online (Sandbox Code Playgroud)
执行中没有结果/行 …