Restrictions on context connections and regular connections
Applies to: SQL Server
This article discusses the restrictions associated with code executing in the SQL Server process through context and regular connections.
Restrictions on context connections
When developing your application, take into account the following restrictions that apply to context connections:
You can have only one context connection open at a given time for a given connection. If you have multiple statements running concurrently in separate connections, each one of them can get their own context connection. The restriction doesn't affect concurrent requests from different connections; it only affects a given request on a given connection.
Multiple Active Result Sets (MARS) isn't supported in a context connection.
The
SqlBulkCopy
class doesn't operate in a context connection.Update batching in a context connection isn't supported
SqlNotificationRequest
can't be used with commands that execute against a context connection.Canceling commands that are running against the context connection isn't supported. The
SqlCommand.Cancel
method silently ignores the request.No other connection string keywords can be used when you use
context connection=true
.The
SqlConnection.DataSource
property returns null if the connection string for theSqlConnection
iscontext connection=true
, instead of the name of the instance of SQL Server.Setting the
SqlCommand.CommandTimeout
property has no effect when the command is executed against a context connection.
Restrictions on regular connections
When developing your application, take into account the following restrictions that apply to regular connections:
Asynchronous command execution against internal servers isn't supported. Including
async=true
in the connection string of a command, and then executing the command, results inSystem.NotSupportedException
being thrown. This message appears:Asynchronous processing is not supported when running inside the SQL Server process.
SqlDependency
object isn't supported.