Freigeben über


Einschränkungen hinsichtlich regulärer Verbindungen und Kontextverbindungen

In diesem Thema werden die Einschränkungen besprochen, denen die Codeausführung im Microsoft SQL Server-Prozess durch Kontextverbindungen und reguläre Verbindungen unterliegt.

Einschränkungen für Kontextverbindungen

Berücksichtigen Sie bei der Anwendungsentwicklung die folgenden Einschränkungen, die für Kontextverbindungen gelten:

  • Zu einem bestimmten Zeitpunkt kann in einer gegebenen Verbindung nur eine Kontextverbindung bestehen. Wenn in verschiedenen Verbindungen mehrere Anweisungen gleichzeitig ausgeführt werden, kann jede dieser Verbindungen eine eigene Kontextverbindung erhalten. Die Einschränkung wirkt sich nicht auf gleichzeitige Anforderungen verschiedener Verbindungen aus, sondern sie gilt nur für eine gegebene Anforderung für eine gegebene Verbindung.

  • MARS (Multiple Active Result Set) wird in einer Kontextverbindung nicht unterstützt.

  • Die SqlBulkCopy-Klasse funktioniert in Kontextverbindungen nicht.

  • Die Batchverarbeitung von Updates wird in Kontextverbindungen nicht unterstützt

  • SqlNotificationRequest kann nicht mit Befehlen verwendet werden, die für eine Kontextverbindung ausgeführt werden.

  • Befehle, die für die Kontextverbindung ausgeführt werden, können nicht abgebrochen werden. Die SqlCommand.Cancel-Methode ignoriert die Anforderung stillschweigend.

  • Wenn "context connection=true" verwendet wird, können keine anderen Schlüsselwörter in Verbindungszeichenfolgen angegeben werden.

  • Die SqlConnection.DataSource-Eigenschaft gibt NULL zurück, wenn in der Verbindungszeichenfolge für SqlConnection "context connection=true" statt des Namens der SQL Server-Instanz angegeben wird.

  • Die Festlegung der SqlCommand.CommandTimeout-Eigenschaft hat keine Auswirkungen, wenn der Befehl für eine Kontextverbindung ausgeführt wird.

Einschränkungen für reguläre Verbindungen

Berücksichtigen Sie bei der Anwendungsentwicklung die folgenden Einschränkungen, die für reguläre Verbindungen gelten:

  • Die asynchrone Befehlsausführung mit internen Servern wird nicht unterstützt. Wenn in der Verbindungszeichenfolge eines Befehls "async=true" angegeben wird, dann führt die Ausführung des Befehls dazu, dass die System.NotSupportedException-Ausnahme ausgelöst wird. Die folgende Meldung wird angezeigt: "Die asynchrone Verarbeitung wird bei einer Ausführung im Rahmen des SQL Server-Prozesses nicht unterstützt".

  • Das SqlDependency-Objekt wird nicht unterstützt.

Siehe auch

Konzepte

Kontextverbindung