Restrictions on Regular and Context Connections
This topic discusses the restrictions associated with code executing in the Microsoft SQL Server process through context and regular 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 does not affect concurrent requests from different connections; it only affects a given request on a given connection.
Multiple Active Result Sets (MARS) is not supported in a context connection.
The SqlBulkCopy class does not operate in a context connection.
Update batching in a context connection is not supported
SqlNotificationRequest cannot be used with commands that execute against a context connection.
Canceling commands that are running against the context connection is not 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 the SqlConnection is "context 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.
When developing your application, take into account the following restrictions that apply to regular connections:
Asynchronous command execution against internal servers is not supported. Including "async=true" in the connection string of a command, and then executing the command, results in System.NotSupportedException being thrown. This message appears: "Asynchronous processing is not supported when running inside the SQL Server process."
SqlDependency object is not supported.