Usando funções de catálogo
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Importante
O SQL Server Native Client (SNAC) não é fornecido com:
- SQL Server 2022 (16.x) e versões posteriores
- SQL Server Management Studio 19 e versões posteriores
O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o provedor OLE DB para SQL Server (SQLOLEDB) da Microsoft herdado não são recomendados para desenvolver um novo aplicativo.
Para novos projetos, use um dos seguintes drivers:
Para SQLNCLI que é fornecido como um componente do Mecanismo de Banco de Dados do SQL Server (versões 2012 a 2019), confira 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 do 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 do SQL Server ao qual o aplicativo se conectou.
O SQL Server oferece 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 do 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 do SQL Server Native Client dá suporte à obtenção de informações do catálogo usando um nome de duas partes de linked_server_name.catalog para CatalogName nas seguintes funções de catálogo ODBC:
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
O linked_server_name de duas partes. catalog 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 do SQL Server Native Client.
sqlncli11.dll
Deve estar presente no tempo de execução. sqlncli11.dll é distribuído com o driver ODBC do SQL Server Native Client.
Confira também
SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics