Verwenden von Katalogfunktionen

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.

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 ODBC-Treiber für SQL Server Native Client ermöglicht es einer Anwendung, die Datenbankstruktur über Aufrufe von ODBC-Katalogfunktionen zu ermitteln. 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 standardmäßigen ODBC-Katalogfunktionen werden verwendet, um Kataloginformationen vom SQL Server abzurufen, mit dem die Anwendung verbunden ist.

SQL Server unterstützt verteilte Abfragen, in denen auf Daten aus mehreren heterogenen OLE DB-Datenquellen in einer einzigen Abfrage 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 ODBC-Treiber für SQL Server Native Client unterstützt zwei treiberspezifische Funktionen, mit denen Kataloginformationen von verknüpften Servern 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 verknüpften Servernamen 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 von linked_server_name.Katalog für CatalogName in den folgenden ODBC-Katalogfunktionen:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Die zweiteilige linked_server_name.Der Katalog wird auch für FKCatalogName und PKCatalogName für 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