当我运行 - SET TRANSACTION ISOLATION LEVEL SNAPSHOT - 命令成功执行,但下面的查询返回:
SELECT is_read_committed_snapshot_on,
snapshot_isolation_state_desc,
snapshot_isolation_state
FROM sys.databases
WHERE name = 'MyDB'
输出:
is_read_committed_snapshot_on 0
snapshot_isolation_state_desc OFF
snapshot_isolation_state 0
请问为什么“SET TRANSACTION”命令没有生效?此外,我假设“ALLOW_SNAPSHOT_ISOLATION”已经打开了,因为我的“SET TRANSACTION ISOLATION LEVEL SNAPSHOT”命令已经成功运行了。这是否正确?
SET TRANSACTION ISOLATION LEVEL SNAPSHOT; SELECT * FROM master..spt_monitor
可以正常工作,因为该事务不会触及禁用的数据库中的任何内容。 - Martin Smith