Использование функций каталога

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server или последний драйвер Microsoft ODBC для SQL Server . Сведения о SQLNCLI, которые поставляется в качестве компонента ядра СУБД SQL Server (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.

Все базы данных имеют структуру, содержащую данные, хранящиеся в базе данных. Определение этой структуры вместе с другими сведениями, например разрешениями, хранится в каталоге (реализованном как набор системных таблиц), который называют словарем данных.

Драйвер ODBC собственного клиента SQL Server позволяет приложению определить структуру базы данных с помощью вызовов функций каталога ODBC. Функции каталога возвращают сведения в результирующих наборах и реализуются с помощью запросов хранимых процедур каталога к системным таблицам этого каталога. Например, приложение может запросить результирующий набор, содержащий сведения о всех таблицах в системе или всех столбцах в определенной таблице. Стандартные функции каталога ODBC используются для получения сведений о каталоге из SQL Server, к которому подключено приложение.

SQL Server поддерживает распределенные запросы, в которых доступ к данным из нескольких разнородных источников данных OLE DB осуществляется в одном запросе. Одним из методов доступа к удаленному источнику данных OLE DB является определение источника данных как связанного сервера. Это можно сделать с помощью sp_addlinkedserver. После определения связанного сервера на объекты этого сервера могут ссылаться инструкции Transact-SQL, используя четырехкомпонентное имя:

linked_server_name.catalog.schema.object_name.

Драйвер ODBC для собственного клиента SQL Server поддерживает две функции, которые помогают получать сведения о каталоге с связанных серверов:

  • SQLLinkedServers

    Возвращает список связанных серверов, определенных на локальном сервере.

  • SQLLinkedCatalogs

    Возвращает список каталогов, содержащихся на связанном сервере.

После получения связанного имени сервера и имени каталога драйвер ODBC собственного клиента SQL Server поддерживает получение сведений из каталога с помощью двух частей linked_server_name.каталог для CatalogName в следующих функциях каталога ODBC:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Двух частей linked_server_name.каталог также поддерживается для FKCatalogName и PKCatalogName в SQLForeignKeys.

Использование SQLLinkedServers и SQLLinkedCatalogs требует следующих файлов.

  • sqlncli.h

    Включает прототипы функций и определения констант для функций каталога связанного сервера. Файл sqlncli.h необходимо включить в приложение ODBC; при компиляции приложения он должен находиться в пути поиска включаемых файлов.

  • sqlncli11.lib

    Должна находиться в пути к библиотекам компоновщика и определена как файл для связывания. sqlncli11.lib распространяется с драйвером ODBC собственного клиента SQL Server.

  • sqlncli11.dll

    Необходима во время выполнения. sqlncli11.dll распространяется с драйвером ODBC собственного клиента SQL Server.

См. также

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