SQL Server 2005 中事务隔离级别的范围规则是什么?我知道不同级别的含义,但不知道如何在手动运行的脚本之外正确应用它们。我找不到生产质量代码的实际使用指南。
显然,当您使用这样的命令时,范围就开始了:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
但它在哪里结束?如果我在存储过程中设置 iso 级别,然后该 proc 调用另一个,嵌套 proc 是否继承它?更好的是,如果我升级嵌套 proc 内的 iso 级别,它会执行回调用 proc 吗?像 BEGIN TRAN、ROLLBACK 和 COMMIT 这样的事务命令有什么不同吗?
当应用程序或代理作业调用存储过程时,隔离级别更改是否以某种方式持续存在?我总是必须在每个过程结束时恢复到默认的 READ COMMITTED 吗?
我会在不同的情况下对其进行测试,但我不知道如何读取当前隔离级别设置的内容。