Freigeben über


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

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 OLE DB-Anbieter von SQL Server Native Client unterstützt drei der Mechanismen, die von SQL Server gespeicherte 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. Bei sql Server Native Client OLE DB-Anbieter werden die Ausgabeparameter und Rückgabecodes erst bereitgestellt, 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 OLE DB-Anbieter des SQL Server Native Client 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 wird.

Weitere Informationen

Gespeicherte Prozeduren