Share via


srv_message_handler (API de procedimento armazenado estendido)

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. Use a integração CLR em vez disso.

Chama o manipulador de mensagens instalado da API de procedimento armazenado estendido. Essa função geralmente é usada para chamar o Microsoft SQL Server de um procedimento armazenado estendido para registrar um erro (definido pelo procedimento armazenado estendido) no arquivo de log de erros do SQL Server ou no log de aplicativos do Microsoft Windows.

Sintaxe

  
int srv_message_handler (  
SRV_PROC *  
srvproc  
,  
int  
errornum  
,  
BYTE   
severity  
,  
BYTE  
state  
,  
int  
oserrnum  
,  
char *  
errtext  
,  
int  
errtextlen  
,  
char *  
oserrtext  
,  
int  
oserrtextlen  
);  

Argumentos

srvproc
É um ponteiro para a estrutura SRV_PROC que atua como identificador de uma conexão de cliente específica. O parâmetro srvproc contém informações usadas para gerenciar a comunicação e os dados entre o aplicativo e o cliente.

errornum
É um número de erro definido pelo procedimento armazenado estendido. Esse número deve ser de 50.001 a 2.147.483.647.

severity
É um valor de severidade padrão do SQL Server para o erro. Esse número deve ser de 0 por 24.

state
É um valor de estado do SQL Server para o erro.

oserrnum
É o número de erro do sistema operacional. Este argumento é ignorado.

errtext
É a descrição do erro errornum do procedimento armazenado estendido.

errtextlen
É o tamanho da cadeia de caracteres de erro errtext do procedimento armazenado estendido.

oserrtext
É a descrição do erro oserrnum do sistema operacional. Este argumento é ignorado.

oserrtextlen
É o tamanho da cadeia de caracteres de erro oserrtext do sistema operacional.

Retornos

SUCCEED ou FAIL.

Comentários

A função srv_message_handler permite que um procedimento armazenado estendido se integre aos recursos centralizados de log de erros e relatórios do SQL Server. Os alertas do SQL Server podem ser estabelecidos para eventos de procedimentos armazenados estendidos, e o SQL Server Agent monitorará essas condições de alerta.

Se a mensagem de erro for mais longa, ela será truncada para 412 bytes.

Importante

Você deve examinar totalmente o código-fonte de procedimentos armazenados estendidos e deve testar as DLLs compiladas antes de instalá-las em um servidor de produção. Para obter informações sobre revisão e testes de segurança, consulte este site da Microsoft.