Inquisitor Shm Asked: 2018-11-02 07:36:53 +0800 CST2018-11-02 07:36:53 +0800 CST 2018-11-02 07:36:53 +0800 CST 是否可以为 SQL Server 中的所有连接设置 DEFAULT TRANSACTION ISOLATION? 772 我希望默认事务隔离级别为 SNAPSHOT。 如何在 SQL Server 2016 数据库上进行设置? sql-server sql-server-2016 1 个回答 Voted Best Answer Paul White 2018-11-02T07:56:40+08:002018-11-02T07:56:40+08:00 无法将快照隔离 (SI) 配置为默认隔离级别。 要使用 SI,必须为数据库启用快照隔离: ALTER DATABASE CURRENT SET ALLOW_SNAPSHOT_ISOLATION ON; 然后每个连接必须显式请求SI,例如: SET TRANSACTION ISOLATION LEVEL SNAPSHOT; 可以设置默认的已提交读隔离级别以使用行版本控制 (RCSI) 。 如果 Read Committed Snapshot Isolation (RCSI) 足以满足您的目的,则设置为: ALTER DATABASE CURRENT SET READ_COMMITTED_SNAPSHOT ON; 进一步阅读: SQL Server 中的快照隔离(文档) 如何在服务器范围内设置默认事务隔离级别?纳乔·阿隆索·波蒂略
无法将快照隔离 (SI) 配置为默认隔离级别。
要使用 SI,必须为数据库启用快照隔离:
然后每个连接必须显式请求SI,例如:
可以设置默认的已提交读隔离级别以使用行版本控制 (RCSI) 。
如果 Read Committed Snapshot Isolation (RCSI) 足以满足您的目的,则设置为:
进一步阅读: