Ograniczenia dotyczące połączeń kontekstowych i zwykłych połączeń
Dotyczy:programu SQL Server
W tym artykule omówiono ograniczenia związane z wykonywaniem kodu w procesie programu SQL Server za pośrednictwem kontekstu i regularnych połączeń.
Ograniczenia dotyczące połączeń kontekstowych
Podczas tworzenia aplikacji należy wziąć pod uwagę następujące ograniczenia dotyczące połączeń kontekstowych:
W danym momencie można otworzyć tylko jedno połączenie kontekstowe dla danego połączenia. Jeśli masz wiele instrukcji uruchomionych współbieżnie w osobnych połączeniach, każdy z nich może uzyskać własne połączenie kontekstowe. Ograniczenie nie ma wpływu na współbieżne żądania z różnych połączeń; dotyczy tylko danego żądania dla danego połączenia.
Wiele aktywnych zestawów wyników (MARS) nie jest obsługiwanych w połączeniu kontekstowym.
Klasa
SqlBulkCopy
nie działa w połączeniu kontekstowym.Wsadowe aktualizowanie w połączeniu kontekstowym nie jest obsługiwane
SqlNotificationRequest
nie można używać z poleceniami wykonywanymi względem połączenia kontekstowego.Anulowanie poleceń uruchomionych względem połączenia kontekstowego nie jest obsługiwane. Metoda
SqlCommand.Cancel
dyskretnie ignoruje żądanie.Podczas korzystania z
context connection=true
nie można używać żadnych innych słów kluczowych parametrów połączenia.Właściwość
SqlConnection.DataSource
zwraca wartość null, jeśli parametry połączenia dlaSqlConnection
sącontext connection=true
, zamiast nazwy wystąpienia programu SQL Server.Ustawienie właściwości
SqlCommand.CommandTimeout
nie ma wpływu, gdy polecenie jest wykonywane względem połączenia kontekstowego.
Ograniczenia dotyczące regularnych połączeń
Podczas tworzenia aplikacji należy wziąć pod uwagę następujące ograniczenia, które mają zastosowanie do zwykłych połączeń:
Wykonywanie poleceń asynchronicznych na serwerach wewnętrznych nie jest obsługiwane. Uwzględnienie
async=true
w parametrach połączenia polecenia, a następnie wykonanie polecenia powoduje zwrócenieSystem.NotSupportedException
. Zostanie wyświetlony następujący komunikat:Asynchronous processing is not supported when running inside the SQL Server process.
obiekt
SqlDependency
nie jest obsługiwany.