Freigeben über


Einschränkungen für Kontextverbindungen und reguläre Verbindungen

Gilt für:SQL Server

In diesem Artikel werden die Einschränkungen beschrieben, die mit codeausführendem Code im SQL Server-Prozess über Kontext- und reguläre Verbindungen verbunden sind.

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 aus verschiedenen Verbindungen aus. sie betrifft nur eine bestimmte Anforderung für eine bestimmte Verbindung.

  • Mehrere aktive Resultsets (MARS) werden in einer Kontextverbindung nicht unterstützt.

  • Die SqlBulkCopy-Klasse wird nicht in einer Kontextverbindung ausgeführt.

  • Das Aktualisieren von Batchverarbeitung in einer Kontextverbindung wird nicht unterstützt.

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

  • Das Abbrechen von Befehlen, die für die Kontextverbindung ausgeführt werden, wird nicht unterstützt. Die SqlCommand.Cancel-Methode ignoriert die Anforderung im Hintergrund.

  • Es können keine anderen Schlüsselwörter für Verbindungszeichenfolgen verwendet werden, wenn Sie context connection=trueverwenden.

  • Die SqlConnection.DataSource-Eigenschaft gibt NULL zurück, wenn die Verbindungszeichenfolge für die SqlConnectioncontext connection=trueist, anstelle des Namens der Instanz von SQL Server.

  • Das Festlegen der SqlCommand.CommandTimeout-Eigenschaft hat keine Auswirkung, 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 für interne Server wird nicht unterstützt. Wenn Sie async=true in die Verbindungszeichenfolge eines Befehls einschließen und dann den Befehl ausführen, wird System.NotSupportedException ausgelöst. Diese Meldung wird angezeigt:

    Asynchronous processing is not supported when running inside the SQL Server process.
    
  • SqlDependency-Objekt wird nicht unterstützt.