Compartilhar via


Procedimentos armazenados - Em execução no SQL Server Native Client

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 (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do 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. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

Ao executar instruções, a chamada a um procedimento armazenado na fonte de dados (em vez de executar ou preparar uma instrução diretamente no aplicativo cliente) pode fornecer:

  • Maior desempenho.

  • Menor sobrecarga da rede.

  • Melhor consistência.

  • Maior exatidão.

  • Maior funcionalidade.

O provedor OLE DB do SQL Server Native Client dá suporte a três dos mecanismos que os procedimentos armazenados do SQL Server usam para retornar dados:

  • Toda instrução SELECT no procedimento gera um conjunto de resultados.

  • O procedimento pode retornar dados através de parâmetros de saída.

  • O procedimento pode ter um código de retorno de inteiro.

O aplicativo precisa ser capaz de tratar todas essas saídas provenientes dos procedimentos armazenados.

Provedores do OLE DB diferentes retornam parâmetros de saída e valores de retorno em horários diferentes durante o processamento de resultados. No caso do provedor OLE DB do SQL Server Native Client, os parâmetros de saída e os códigos de retorno não são fornecidos até que o consumidor tenha recuperado ou cancelado os conjuntos de resultados retornados pelo procedimento armazenado. Os códigos de retorno e parâmetros de saída são retornados no último pacote TDS proveniente do servidor.

Os provedores usam a propriedade DBPROP_OUTPUTPARAMETERAVAILABILITY para informar o momento em que são retornados os parâmetros de saída e valores de retorno. Essa propriedade faz parte do conjunto de propriedades DBPROPSET_DATASOURCEINFO.

O provedor OLE DB do SQL Server Native Client define a propriedade DBPROP_OUTPUTPARAMETERAVAILABILITY como DBPROPVAL_OA_ATROWRELEASE para indicar que os códigos de retorno e os parâmetros de saída não são retornados até que o conjunto de resultados seja processado ou liberado.

Confira também

Procedimentos armazenados