Descoberta de Metadados no Cliente Nativo do SQL Server

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

Importante

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 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) herdado não são recomendados para o desenvolvimento de novos aplicativos.

Para novos projetos, use um dos seguintes drivers:

Para o SQLNCLI fornecido como componente do Mecanismo de Base de Dados do SQL Server (versões de 2012 a 2019), consulte esta exceção ao Ciclo de Vida de Suporte .

A melhoria na descoberta de metadados no SQL Server 2012 (11.x) permite que aplicações SQL Server Native Client garantam que os metadados de colunas ou parâmetros retornados da execução de uma consulta são idênticos ou compatíveis com o formato de metadados especificado antes de executar a consulta. Receberá um erro se os metadados devolvidos após a execução da consulta não forem compatíveis com o formato de metadados que especificou antes da execução da consulta.

Nas funções bcp e ODBC, e nas interfaces IBCPSession e IBCPSession2, pode agora especificar uma leitura atrasada (descoberta atrasada de metadados) para evitar a descoberta de metadados em operações de consulta de saída. Isto melhora o desempenho e elimina falhas na descoberta de metadados.

Se desenvolver uma aplicação usando o SQL Server Native Client no SQL Server 2012 (11.x), mas se ligar a uma versão do servidor anterior ao SQL Server 2012 (11.x), a funcionalidade de descoberta de metadados corresponderá à versão do servidor.

Observações

As seguintes funções bcp foram melhoradas no SQL Server 2012 (11.x) para proporcionar uma melhor descoberta de metadados:

Também verá uma melhoria de desempenho ao especificar o formato dos metadados usando bcp_setbulkmode.

bcp_control tem uma nova eOption para controlar o comportamento do bcp_readfmt: BCPDELAYREADFMT.

As seguintes funções ODBC foram melhoradas no SQL Server 2012 (11.x) para proporcionar uma melhor descoberta de metadados:

As seguintes funções membros do OLE DB foram melhoradas no SQL Server 2012 (11.x) para proporcionar uma melhor descoberta de metadados:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (ver ICommandWithParameters para mais informações)

Também verá uma melhoria de desempenho ao especificar o formato dos metadados usando IBCPSession::BCPSetBulkMode

A melhoria na descoberta de metadados no SQL Server Native Client é possível graças à adição de dois procedimentos armazenados no SQL Server 2012 (11.x):

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters