Compartilhar via


Características de execução de procedimentos armazenados estendidos

Aplica-se a: SQL Server

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use a Integração CLR.

A execução de um procedimento armazenado estendido tem as seguintes características:

  • A função de procedimento armazenado estendido é executada no contexto de segurança do Microsoft SQL Server.

  • A função de procedimento armazenado estendido é executada no espaço de processo do SQL Server.

  • O thread associado com a execução do procedimento armazenado estendido é igual ao usado na conexão do cliente.

    Importante

    Antes de adicionar procedimentos armazenados estendidos ao servidor e conceder permissões de execução a outros usuários, o administrador do sistema deve examinar detalhadamente cada procedimento armazenado estendido para certificar-se de que ele não contém código nocivo ou mal-intencionado.

  • Depois que a DLL de procedimento armazenado estendido é carregada, a DLL permanece carregada no espaço de endereço do servidor até que o SQL Server seja interrompido ou o administrador descarregue explicitamente a DLL usando o DBCC DLL_name (FREE).

    O procedimento armazenado estendido pode ser executado no Transact-SQL como um procedimento armazenado usando a instrução EXECUTE:

EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT  

Parâmetros

@ retval
É um valor de retorno.

@ param1
É um parâmetro de entrada.

@ param2
É um parâmetro de entrada/saída.

Cuidado

Os procedimentos armazenados estendidos oferecem aprimoramentos de desempenho e estendem a funcionalidade do SQL Server. No entanto, como a DLL de procedimento armazenado estendido e o SQL Server compartilham o mesmo espaço de endereço, um procedimento problemático pode afetar negativamente o funcionamento do SQL Server. Embora as exceções geradas pela DLL de procedimento armazenado estendido sejam tratadas pelo SQL Server, é possível danificar as áreas de dados do SQL Server. Como precaução de segurança, somente os administradores de sistema do SQL Server podem adicionar procedimentos armazenados estendidos ao SQL Server. Esses procedimentos devem ser extensivamente testados antes ser instalados.

Confira também

Programando procedimentos armazenados estendidos
Consulta de procedimentos armazenados estendidos no SQL Server