会话与交易

时间:2016-05-25 18:51:32

标签: c# database session

在我阅读MARS时,我发现了以下声明:

  

当启用MARS以与SQL Server一起使用时,使用的每个命令对象都会向连接添加会话。

之前我听说过会话,但无法掌握内部工作原理以及会话如何添加到连接的概念。我知道什么是事务和隔离类型等。这两者有什么区别?

1 个答案:

答案 0 :(得分:2)

会话是一种SQL Server概念,用于对应用程序与数据库的交互进行逻辑分组。临时表是会话范围的。当你致电SqlConnection.Open时,你会得到一个新的会话。

这是我对MARS内部的理解:

SQL Server通过每次连接一次创建多个会话来实现MARS。每个并发命令都在其自己的会话对象中运行。你可以看到这是会话DMV。

我认为你不需要知道关心这一点。此内部详细信息不会影响您使用该功能的方式。特别是,交易和隔离不会受到影响(因为你提到了这些条款,所以提到这一点)。