唔,遇到一个不在事务中的查询可以拿到未提交事务的数据的bug,发现不同版本的 SQL Server 对于事务隔离的默认配置是不一样的,在此记录下
查询当前事务隔离选项:
DBCC USEROPTIONS
SQL Server 的默认事务隔离选项是 READ COMMITTED
但还有一个 READ_COMMITTED_SNAPSHOT 选项
默认本地安装版是 OFF,Azure 云版(阿里云好像也是)默认是 ON
会导致最开始的 BUG 产生,唔,就很神奇。
参考:https://www.cnblogs.com/chenmh/p/3998614.html
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set-transaction-isolation-level-transact-sql