Execução de Procedimentos Armazenados

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

Um procedimento armazenado é um objeto executável armazenado numa base de dados. SQL Server suporta:

  • Procedimentos armazenados:

    Uma ou mais instruções SQL pré-compiladas num único procedimento executável.

  • Procedimentos armazenados alargados:

    Bibliotecas de ligação dinâmica (DLL) em C ou C++ escritas para a API Open Data Services do SQL Server para procedimentos armazenados estendidos. A API de Serviços de Dados Abertos estende as capacidades dos procedimentos armazenados para incluir código C ou C++.

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

  • Maior desempenho

    As instruções SQL são analisadas e compiladas quando os procedimentos são criados. Esta sobrecarga é então poupada quando os procedimentos são executados.

  • Redução da sobrecarga da rede

    Executar um procedimento em vez de enviar consultas complexas pela rede pode reduzir o tráfego da rede. Se uma aplicação ODBC usar a sintaxe ODBC { CALL } para executar um procedimento armazenado, o driver ODBC faz otimizações adicionais que eliminam a necessidade de converter dados de parâmetros.

  • Maior consistência

    Se as regras de uma organização forem implementadas num recurso central, como um procedimento armazenado, podem ser codificadas, testadas e depuradas uma vez. Os programadores individuais podem então usar os procedimentos armazenados testados em vez de desenvolverem as suas próprias implementações.

  • Maior precisão

    Como os procedimentos armazenados são geralmente desenvolvidos por programadores experientes, tendem a ser mais eficientes e a apresentar menos erros do que o código desenvolvido várias vezes por programadores de diferentes níveis de competência.

  • Funcionalidade adicionada

    Os procedimentos armazenados alargados podem usar funcionalidades em C e C++ que não estão disponíveis nas instruções Transact-SQL.

    Para um exemplo de como chamar um procedimento armazenado, veja Códigos de Retorno de Processos e Parâmetros de Saída (ODBC).

Na presente seção