Usando funções de catálogo

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento de aplicativo. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) ou o Microsoft ODBC Driver for SQL Server mais recente no futuro. Para SQLNCLI que é fornecido como um componente do Mecanismo de Banco de Dados SQL Server (versões 2012 a 2019), consulte esta exceção de Ciclo de Vida de Suporte.

Todos os bancos de dados têm uma estrutura que contém os dados armazenados no banco de dados. Uma definição dessa estrutura, juntamente com outras informações, como permissões, é armazenada em um catálogo (implementado como um conjunto de tabelas do sistema), também conhecido como um dicionário de dados.

O driver ODBC SQL Server Native Client permite que um aplicativo determine a estrutura do banco de dados por meio de chamadas para funções de catálogo ODBC. As funções de catálogo retornam informações em conjuntos de resultados e são implementadas usando procedimentos armazenados de catálogo para consultar as tabelas do sistema no catálogo. Por exemplo, um aplicativo pode solicitar um conjunto de resultados que contém informações sobre todas as tabelas no sistema ou todas as colunas de uma tabela específica. As funções de catálogo ODBC padrão são usadas para obter informações de catálogo da SQL Server à qual o aplicativo se conectou.

SQL Server dá suporte a consultas distribuídas nas quais dados de várias fontes de dados OLE DB heterogêneas são acessados em uma única consulta. Um dos métodos para acessar uma fonte de dados OLE DB remota é definir a fonte de dados como um servidor vinculado. Isso pode ser feito usando sp_addlinkedserver. Depois que o servidor vinculado foi definido, é possível referenciar objetos nesse servidor em instruções Transact-SQL usando um nome de quatro partes:

linked_server_name.catalog.schema.object_name.

O driver ODBC SQL Server Native Client dá suporte a duas funções específicas do driver que ajudam a obter informações de catálogo de servidores vinculados:

  • SQLLinkedServers

    Retorna uma lista dos servidores vinculados definidos para o servidor local.

  • SQLLinkedCatalogs

    Retorna uma lista dos catálogos contidos em um servidor vinculado.

Depois de ter um nome de servidor vinculado e um nome de catálogo, o driver ODBC SQL Server Native Client dá suporte à obtenção de informações do catálogo usando um nome de duas partes de linked_server_name.catálogo para CatalogName nas seguintes funções de catálogo ODBC:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

O linked_server_name de duas partes. O catálogo também tem suporte para FKCatalogName e PKCatalogName em SQLForeignKeys.

O uso de SQLLinkedServers e SQLLinkedCatalogs exige os seguintes arquivos:

  • sqlncli.h

    Inclui protótipos de função e definições de constantes para funções de catálogo do servidor vinculado. O sqlncli.h deve ser incluído no aplicativo ODBC e deverá estar no caminho de inclusão quando o aplicativo for compilado.

  • sqlncli11.lib

    Deve estar no caminho da biblioteca do vinculador e ser especificado como um arquivo a ser vinculado. sqlncli11.lib é distribuído com o driver ODBC SQL Server Native Client.

  • sqlncli11.dll

    Deve estar presente no tempo de execução. sqlncli11.dll é distribuído com o driver ODBC SQL Server Native Client.

Consulte Também

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