SQL Server 2014及以上版本重置ISOLATION LEVEL至默认值相关疑问
关于SQL Server 2014隔离级别相关问题的解答
1. 如何确认ISOLATION LEVEL已重置为默认值?
SQL Server默认的隔离级别是READ COMMITTED,你可以执行DBCC USEROPTIONS命令查看当前连接的隔离级别。执行后会返回当前连接的各项配置项,找到isolation level对应的行,若值为read committed,就说明已回到默认状态。
另外,sp_reset_connection会重置连接的多数状态(包括隔离级别)到默认值,你可以在执行该存储过程后,再用DBCC USEROPTIONS验证结果。
2. 存储过程中修改ISOLATION LEVEL是否仅作用于该存储过程范围?
不是的。隔离级别是连接级的设置,在存储过程里修改隔离级别会直接改变当前整个连接的隔离级别,哪怕存储过程执行完毕,这个修改后的级别依然会保持,直到你显式重新设置隔离级别,或者连接被重置(比如调用sp_reset_connection)。如果需要限制在存储过程内生效,建议在存储过程开始时保存原隔离级别,结束时再恢复回去。
内容的提问来源于stack exchange,提问作者DooDoo
相关产品推荐
相关产品推荐

