srv_message_handler(扩展存储过程 API)

适用于:SQL Server

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 CLR 集成。

调用安装的扩展存储过程 API 消息处理程序。 此函数通常用于从扩展存储过程调用 Microsoft SQL Server,以在 SQL Server 错误日志文件或 Microsoft Windows 应用程序日志中记录错误(由扩展存储过程定义)。

语法

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

参数

srvproc
指向作为特定客户端连接句柄的 SRV_PROC 结构的指针。 srvproc 参数包含用于管理应用程序和客户端之间的通信和数据的信息

errornum
由扩展存储过程定义的错误编号。 该数字必须介于 50,001 和 2,147,483,647 之间。

severity
错误的标准 SQL Server 严重性值。 该数字必须介于 0 和 24 之间。

state
错误的 SQL Server 状态值。

oserrnum
操作系统错误编号。 忽略此参数。

errtext
扩展存储过程错误 errornum 的说明

errtextlen
扩展存储过程错误字符串 errtext 的长度

oserrtext
操作系统错误 oserrnum 的说明。 忽略此参数。

oserrtextlen
操作系统错误字符串 oserrtext 的长度

返回

SUCCEED 或 FAIL。

注解

srv_message_handler函数使扩展存储过程能够与 SQL Server 的集中式错误日志记录和报告功能集成。 可以为扩展存储过程中的事件建立 SQL Server 警报,SQL Server 代理将监视这些警报条件。

如果错误消息较长,则将其截断为 412 个字节。

重要

应全面检查扩展存储过程的源代码,并在生产服务器中安装编译的 DLL 之前,对这些 DLL 进行测试。 有关安全检查和测试的信息,请访问此 Microsoft 网站