所有数据库都有一个结构,其中包含存储在数据库中的数据。 此结构的定义以及其他信息(如权限)存储在目录(实现为一组系统表)中,也称为数据字典。
SQL Server Native Client ODBC 驱动程序使应用程序能够通过调用 ODBC 目录函数来确定数据库结构。 目录函数在结果集中返回信息,并使用目录存储过程来查询目录中的系统表。 例如,应用程序可能会请求一个结果集,其中包含有关系统上所有表或特定表中所有列的信息。 标准 ODBC 目录函数用于从应用程序连接到的 SQL Server 获取目录信息。
SQL Server 支持分布式查询,在单个查询中访问来自多个异类 OLE DB 数据源的数据。 访问远程 OLE DB 数据源的方法之一是将数据源定义为链接服务器。 可以使用 sp_addlinkedserver来完成此作。 定义链接服务器后,可以使用四部分名称在 Transact-SQL 语句中引用该服务器中的对象:
linked_server_name.catalog.schema.object_name。
SQL Server Native Client ODBC 驱动程序支持两个特定于驱动程序的函数,可帮助从链接服务器获取目录信息:
- SQLLinkedServers - 返回定义到本地服务器的链接服务器的列表。 
- SQLLinkedCatalogs - 返回链接服务器中包含的目录的列表。 
拥有链接服务器名称和目录名称后,SQL Server Native Client ODBC 驱动程序支持使用由两部分构成的名称linked_server_name从目录中获取信息。以下 ODBC 目录函数上的 CatalogName 目录:
- SQLColumnPrivileges 
- SQLColumns 
- SQLPrimaryKeys 
- SQLStatistics 
- SQLTablePrivileges 
- SQLTables 
由两部分构成的linked_server_name。SQLForeignKeys 上的 FKCatalogName 和 PKCatalogName 也支持目录。
使用 SQLLinkedServers 和 SQLLinkedCatalog 需要以下文件:
- sqlncli.h - 包括链接服务器目录函数的函数原型和常量定义。 sqlncli.h 必须包含在 ODBC 应用程序中,并且必须在编译应用程序时包含在包含路径中。 
- sqlncli11.lib - 必须位于链接器的库路径中,并指定为要链接的文件。 sqlncli11.lib 随 SQL Server Native Client ODBC 驱动程序一起分发。 
- sqlncli11.dll - 必须在执行时存在。 sqlncli11.dll 随 SQL Server Native Client ODBC 驱动程序一起分发。 
另请参阅
              SQL Server Native Client (ODBC)
              SQLColumnPrivileges
SQLColumns
              SQLPrimaryKeys
              SQLTablePrivileges
              SQLTables
              SQLStatistics