Metadatenermittlung in SQL Server Native Client

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. Der SQL Server Native Client (SQLNCLI oder SQLNCLI11) und der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für neue Anwendungsentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL) oder den neuesten Microsoft ODBC Driver for SQL Server. Informationen zu SQLNCLI, das als Komponente von SQL Server Datenbank-Engine (Versionen 2012 bis 2019) ausgeliefert wird, finden Sie in dieser Supportlebenszyklus-Ausnahme.

Die Verbesserung der Metadatenermittlung in SQL Server 2012 (11.x) ermöglicht es SQL Server Native Client Anwendungen, sicherzustellen, dass Spalten- oder Parametermetadaten, die von der Ausführung einer Abfrage zurückgegeben werden, mit dem Metadatenformat identisch sind oder mit diesem kompatibel sind, das Sie vor der Ausführung der Abfrage angegeben haben. Wenn die nach der Ausführung der Abfrage zurückgegebenen Metadaten nicht mit dem Metadatenformat identisch sind, das Sie vor der Ausführung der Abfrage angegeben haben, wird ein Fehler ausgegeben.

Sie können jetzt in bcp- und ODBC-Funktionen sowie in IBCPSession- und IBCPSession2-Schnittstellen verzögertes Lesen (verzögerte Metadatenerkennung) angeben, um Metadatenermittlung für Abfrageausgabevorgänge zu verhindern. Dies verbessert die Leistung und schließt Metadatenermittlungsfehler aus.

Wenn Sie eine Anwendung mit SQL Server Native Client in SQL Server 2012 (11.x) entwickeln, aber eine Verbindung mit einer Serverversion vor SQL Server 2012 (11.x) herstellen, entspricht die Metadatenermittlungsfunktion der Version des Servers.

Bemerkungen

Die folgenden bcp-Funktionen wurden in SQL Server 2012 (11.x) erweitert, um eine verbesserte Metadatenermittlung bereitzustellen:

Das Angeben des Metadatenformats mit bcp_setbulkmodeführt ebenfalls zu einer Leistungsverbesserung.

bcp_control verfügt über eine neue eOption zum Steuern des Verhaltens von bcp_readfmt: BCPDELAYREADFMT.

Die folgenden ODBC-Funktionen wurden in SQL Server 2012 (11.x) erweitert, um eine verbesserte Metadatenermittlung bereitzustellen:

Die folgenden OLE DB-Elementfunktionen wurden in SQL Server 2012 (11.x) verbessert, um verbesserte Metadatenermittlung bereitzustellen:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (Weitere Informationen finden Sie unter ICommandWithParameters.)

Das Angeben des Metadatenformats mit IBCPSession::BCPSetBulkMode führt ebenfalls zu einer Leistungsverbesserung.

Die verbesserte Metadatenermittlung in SQL Server Native Client ist durch das Hinzufügen von zwei gespeicherten Prozeduren in SQL Server 2012 (11.x) möglich:

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters

Weitere Informationen

SQL Server Native Client-Funktionen