Verwenden von Katalogfunktionen

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.

Alle Datenbanken verfügen über eine Struktur, die die in der Datenbank gespeicherten Daten enthält. Eine Definition dieser Struktur ist zusammen mit anderen Informationen, wie beispielsweise Berechtigungen, in einem Katalog gespeichert, der als Satz Systemtabellen implementiert und auch als Datenwörterbuch bezeichnet wird.

Der SQL Server Native Client ODBC-Treiber ermöglicht es einer Anwendung, die Datenbankstruktur durch Aufrufe von ODBC-Katalogfunktionen zu bestimmen. Katalogfunktionen geben Informationen in Resultsets zurück und werden mithilfe von gespeicherten Katalogprozeduren implementiert, um die Systemtabellen im Katalog abzufragen. Beispielsweise könnte eine Anwendung ein Resultset mit Informationen über alle Tabellen im System oder alle Spalten in einer bestimmten Tabelle anfordern. Die ODBC-Standardkatalogfunktionen werden verwendet, um Kataloginformationen von der SQL Server abzurufen, mit der die Anwendung verbunden ist.

SQL Server unterstützt verteilte Abfragen, bei denen in einer einzelnen Abfrage auf Daten aus mehreren heterogenen OLE DB-Datenquellen zugegriffen wird. Eine Methode des Zugriffs auf eine OLE DB-Datenquelle ist die Definition der Datenquelle als Verbindungsserver. Dies kann mithilfe von sp_addlinkedserver erfolgen. Nachdem der Verbindungsserver definiert wurde, kann in Transact-SQL-Anweisungen auf Objekte dieses Servers verwiesen werden. Dazu wird ein vierteiliger Name verwendet:

linked_server_name.catalog.schema.object_name.

Der SQL Server Native Client ODBC-Treiber unterstützt zwei treiberspezifische Funktionen, mit denen Kataloginformationen von Verbindungsservern abgerufen werden können:

  • SQLLinkedServers

    Gibt eine Liste der auf den lokalen Servern definierten Verbindungsserver zurück.

  • SQLLinkedCatalogs

    Gibt eine Liste der in einem Verbindungsserver enthaltenen Kataloge zurück.

Nachdem Sie über einen Verbindungsservernamen und einen Katalognamen verfügen, unterstützt der SQL Server Native Client ODBC-Treiber das Abrufen von Informationen aus dem Katalog mithilfe eines zweiteiligen Namens linked_server_name.catalog for CatalogName für die folgenden ODBC-Katalogfunktionen:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • 'SQLStatistics'

  • SQLTablePrivileges

  • SQLTables

Das zweiteilige linked_server_name.catalog wird auch für FKCatalogName und PKCatalogName in SQLForeignKeys unterstützt.

Zur Verwendung von SQLLinkedServers und SQLLinkedCatalogs sind die folgenden Dateien erforderlich:

  • sqlncli.h

    Enthält Funktionsprototypen und Konstantendefinitionen für die Verbindungsserverkatalogfunktionen. sqlncli.h muss in der ODBC-Anwendung enthalten sein und im Includepfad angegeben werden, wenn die Anwendung kompiliert wird.

  • sqlncli11.lib

    Muss im Bibliothekspfad des Linkers enthalten sein und als zu verknüpfende Datei angegeben werden. sqlncli11.lib wird mit dem SQL Server Native Client ODBC-Treiber verteilt.

  • sqlncli11.dll

    Muss zur Ausführungszeit verfügbar sein. sqlncli11.dll wird mit dem SQL Server Native Client ODBC-Treiber verteilt.

Weitere Informationen

SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
'SQLStatistics'