Metadatenermittlung in SQL Server Native Client
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Wichtig
SQL Server Native Client (SNAC) wird nicht ausgeliefert mit:
- SQL Server 2022 (16.x) und höhere Versionen
- SQL Server Management Studio 19 und höhere Versionen
Der SQL Server Native Client (SQLNCLI oder SQLNCLI11) und der ältere Microsoft OLE DB-Anbieter für SQL Server (SQLOLEDB) werden für die entwicklung neuer Anwendungen nicht empfohlen.
Für neue Projekte verwenden Sie einen der folgenden Treiber:
Informationen zu SQLNCLI, das als Komponente der SQL Server Datenbank-Engine (Versionen 2012 bis 2019) ausgeliefert wird, finden Sie in dieser Ausnahme für den Supportlebenszyklus.
Mit der Verbesserung der Metadatenermittlung in SQL Server 2012 (11.x) können SQL Server Native Client-Anwendungen sicherstellen, dass Spalten- oder Parametermetadaten, die von der Ausführung einer Abfrage zurückgegeben werden, mit dem metadatenformat identisch oder kompatibel sind, das Sie angegeben haben, bevor Sie die Abfrage ausgeführt 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 Metadatenermittlungsfunktionalität der Version des Servers.
Hinweise
Die folgenden bcp-Funktionen wurden in SQL Server 2012 (11.x) verbessert, 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) verbessert, 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 aufgrund der Hinzufügung von zwei gespeicherten Prozeduren in SQL Server 2012 (11.x) möglich:
sp_describe_first_result_set
sp_describe_undeclared_parameters