MSDN在线文章"Server中的快照隔离“指出:
这不是自相矛盾的一段(“直到”和“保留”)吗?
然后,如果在关闭连接并将其返回到池之后“保留了最后一组事务隔离级别语句的隔离级别”,那么应该如何理解它:
发布于 2013-12-13 09:48:40
来自池的连接将由上一个客户端设置使用该连接的隔离级别。是的,真的很可怕。
它的长短在于,如果更改连接的隔离级别,则必须在关闭之前显式地将其设置为READ COMMITTED。更好的做法是在任何批处理开始时显式声明所需的隔离级别,以确保您的代码不会受到其他人草率的影响,并在最后将其返回到默认状态。
这种行为,虽然令人困惑,但显然是副设计。
发布于 2013-12-15 03:30:44
这不是自相矛盾的一段(“直到”和“保留”)吗?
对我来说不是,但我可以看到有其他的方式来阅读它。如果您希望更新文档以使其更加清晰,那么请求它的适当位置是在微软上。这里的人不维护Microsoft文档。
默认隔离级别将具有任意值(池中的不同连接将具有不同的隔离级别,其值将取决于重新打开的连接)?
如果您正在重用池连接,那么是的,“预先存在的”隔离级别是上次关闭池连接时生效的隔离级别。最佳实践是显式地设置连接时所需的隔离级别。
还是池中所有连接上的所有默认值都将更改为最后一个?但手前又一次不知道呢?
不是的。
发布于 2014-09-04 13:36:45
大多数TDS协议版本的服务器2014现在重置池连接的隔离级别。以前的Server版本没有重置隔离级别。
https://dba.stackexchange.com/questions/54943
复制相似问题