Descoberta de metadados no SQL Server Native Client

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 do SQL Server (versões 2012 a 2019), consulte esta exceção de Ciclo de Vida de Suporte.

A melhoria da descoberta de metadados no SQL Server 2012 (11.x) permite que SQL Server Native Client aplicativos garantam que os metadados de coluna ou parâmetro retornados da execução de uma consulta sejam idênticos ou compatíveis com o formato de metadados especificado antes de executar a consulta. Você receberá um erro se os metadados retornados depois da execução da consulta não forem compatíveis com o formato de metadados especificado antes da execução da consulta.

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

Se você desenvolver um aplicativo usando SQL Server Native Client no SQL Server 2012 (11.x), mas se conectar a uma versão de servidor anterior a SQL Server 2012 (11.x), a funcionalidade de descoberta de metadados corresponderá à versão do servidor.

Comentários

As seguintes funções bcp foram aprimoradas no SQL Server 2012 (11.x) para fornecer uma descoberta de metadados aprimorada:

Você também verá uma melhoria no desempenho ao especificar o formato de metadados usando bcp_setbulkmode.

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

As seguintes funções ODBC foram aprimoradas no SQL Server 2012 (11.x) para fornecer uma descoberta de metadados aprimorada:

As funções de membros OLE DB a seguir foram aperfeiçoadas no SQL Server 2012 (11.x) para fornecer descoberta de metadados aprimorada:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

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

Você também verá uma melhoria no desempenho ao especificar o formato de metadados usando IBCPSession::BCPSetBulkMode

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

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters

Consulte Também

Recursos do SQL Server Native Client