上下文连接与常规连接
适用范围:SQL Server
如果要连接到远程服务器,请始终使用常规连接而不是上下文连接。 如果您需要连接到存储过程或函数正在其上运行的同一台服务器,则在大多数情况下请使用上下文连接。 此方法的优点包括在同一事务空间中运行,而无需重新进行身份验证。
此外,使用上下文连接通常会导致性能更佳和占用更少的资源。 上下文连接是一个仅进程内连接,因此可以通过绕过网络协议和传输层来发送 Transact-SQL 语句并接收结果来直接联系服务器 。 同时跳过验证过程。 下图显示了 SqlClient
托管提供程序的主要组件,以及使用常规连接与上下文连接时的不同组件如何相互交互。
上下文连接所采用的代码路径较短,且所涉及的组件较少,因此,您可以预计请求到达服务器和从服务器获得结果的速度将高于采用常规连接时。 服务器上的查询执行时间对于上下文连接和常规连接是相同的。
在某些情况下,可能需要打开与同一服务器的单独常规连接。 例如,使用上下文连接存在一些限制,如 上下文连接的限制和常规连接中所述。