上下文连接和常规连接的限制
适用范围:SQL Server
本文讨论通过上下文和常规连接在 SQL Server 进程中执行的代码相关的限制。
上下文连接限制
开发应用程序时,请考虑应用于上下文连接的以下限制:
对于给定的连接,在给定的时间,您只能打开一个上下文连接。 如果有多个语句并发运行在单独的连接中,则其中的每个语句都可以获得自己的上下文连接。 此限制不会影响来自不同连接的并发请求;它仅影响给定连接上的给定请求。
上下文连接不支持多个活动结果集(MARS)。
SqlBulkCopy
类在上下文连接中不运行。不支持在上下文连接中更新批处理
SqlNotificationRequest
不能与针对上下文连接执行的命令一起使用。不支持取消针对上下文连接运行的命令。
SqlCommand.Cancel
方法以无提示方式忽略请求。使用
context connection=true
时,不能使用其他连接字符串关键字。如果
SqlConnection
的连接字符串context connection=true
而不是 SQL Server 实例的名称,则SqlConnection.DataSource
属性返回 null。在对上下文连接执行命令时,设置
SqlCommand.CommandTimeout
属性不起作用。
常规连接的限制
开发应用程序时,请考虑应用于常规连接的以下限制:
不支持针对内部服务器的异步命令执行。 在命令的连接字符串中包含
async=true
,然后执行该命令,将导致引发System.NotSupportedException
。 将显示此消息:Asynchronous processing is not supported when running inside the SQL Server process.
不支持
SqlDependency
对象。