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 网站。