Gespeicherte Prozeduren: Wird in SQL Server Native Client ausgeführt

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).

Wenn beim Ausführen von Anweisungen eine gespeicherte Prozedur in der Datenquelle ausgeführt wird (anstelle der Ausführung oder der Vorbereitung einer Anweisung direkt in der Clientanwendung), kann dies folgende Vorteile haben:

  • Bessere Leistung

  • Geringere Netzwerkbelastung

  • Bessere Konsistenz

  • Höhere Genauigkeit

  • Zusätzliche Funktionalität

Der SQL Server Native Client OLE DB-Anbieter unterstützt drei Mechanismen, die SQL Server gespeicherten Prozeduren zum Zurückgeben von Daten verwenden:

  • Jede SELECT-Anweisung in der Prozedur generiert ein Resultset.

  • Die Prozedur kann Daten über Ausgabeparameter zurückgeben.

  • Die Prozedur kann einen ganzzahligen Rückgabecode besitzen.

Die Anwendung muss diese Ausgaben von gespeicherten Prozeduren verwenden können.

Die Rückgabe von Ausgabeparametern und Rückgabewerten erfolgt bei verschiedenen OLE DB-Anbietern zu unterschiedlichen Zeitpunkten während der Ergebnisverarbeitung. Im Fall des SQL Server Native Client OLE DB-Anbieters werden die Ausgabeparameter und Rückgabecodes erst angegeben, nachdem der Consumer die von der gespeicherten Prozedur zurückgegebenen Resultsets abgerufen oder abgebrochen hat. Die Rückgabecodes und die Ausgabeparameter werden im letzten TDS-Paket vom Server zurückgegeben.

Anbieter verwenden die DBPROP_OUTPUTPARAMETERAVAILABILITY-Eigenschaft, um die Rückgabe von Ausgabeparametern und Rückgabewerten zu melden. Bei dieser Eigenschaft handelt es sich um den DBPROPSET_DATASOURCEINFO-Eigenschaftensatz.

Der SQL Server Native Client OLE DB-Anbieter legt die DBPROP_OUTPUTPARAMETERAVAILABILITY-Eigenschaft auf DBPROPVAL_OA_ATROWRELEASE fest, um anzugeben, dass Rückgabecodes und Ausgabeparameter erst zurückgegeben werden, wenn das Resultset verarbeitet oder freigegeben wurde.

Weitere Informationen

Gespeicherte Prozeduren