Ограничения обычных и контекстных соединений
В этом разделе содержатся сведения об ограничениях, связанных с кодом, выполняемым в процессе Microsoft SQL Server через контекстные и обычные соединения.
Ограничения контекстных соединений
При проектировании приложения учитывайте следующие ограничения, которые применяются к контекстным соединениям:
В данное время для данного соединения может существовать только одно открытое контекстное соединение. Если имеется несколько инструкций, параллельно выполняемых в отдельных соединениях, каждое из них может иметь собственное контекстное соединение. Ограничение не влияет на параллельные запросы из различных соединений; оно влияет только на данный запрос на данном соединении.
Режим MARS не поддерживается в контекстном соединении.
Класс SqlBulkCopy не работает в контекстном соединении.
Пакетное обновление в контекстном соединении не поддерживается.
SqlNotificationRequest нельзя использовать с командами, которые применяются к контекстному соединению.
Не поддерживается отмена команд, применяемых к контекстному соединению. Метод SqlCommand.Cancel игнорирует запрос, не выдавая сообщения об этом.
Никакие другие ключевые слова строки соединения не могут быть использованы при использовании «context connection=true».
Свойство SqlConnection.DataSource возвращает значение NULL, если строка соединения для SqlConnection «context connection=true» вместо имени экземпляра SQL Server.
Установка свойства SqlCommand.CommandTimeout не влияет на время применения команды к контекстному соединению.
Ограничения контекстных соединений
При проектировании приложения учитывайте следующие ограничения, которые применяются к обычным соединениям:
Не поддерживается асинхронное применение команд к внутренним серверам. Включение «async=true» в строку соединения команды с последующим выполнением команды приводит к возникновению System.NotSupportedException. Появляется сообщение: «Асинхронная обработка не поддерживается при выполнении внутри процесса SQL Server».
Объект SqlDependency не поддерживается.