top

笔记305 创建用户自定义错误的警报 2013-6-22

笔记305 创建用户自定义错误的警报 2013-6-22

复制代码
 1 --创建用户自定义错误的警报 2013-6-22
 2 --使用系统存储过程sp_addmessage可将用户定义的错误信息添加到sysmessages表
 3 --使用sp_addmessage可以指定消息号、验证级别、消息文本,以及该错误是否
 4 --记录到应用程序日志
 5 
 6 --用户定义错误时,使用大于50000的错误消息号和0~18的严重级别。使用
 7 --raiserror语句可引发用户定义错误。只有系统管理员可以引发严重级别
 8 --为19~25的错误
 9 
10 
11 --创建一条用户定义错误消息,错误号为50001,严重级别为10,当该错误发生
12 --的时候,相应错误消息写入应用程序日志(使用true指定)
13 --当删除adventrueworks数据库中的customers表的客户记录时,在
14 --remove_customer存储过程中使用raiserror语句引发50001错误。
15 
16 --创建警报的TSQL
17 EXEC [sys].[sp_addmessage] @msgnum = 50001, -- int
18     @severity = 20, -- smallint
19     @msgtext = N'customer %d was delete', -- nvarchar(255)
20     @lang = us_English, -- sysname
21     @with_log = 'true', -- varchar(5)
22     @replace = 'replace' -- varchar(7)
23 GO
24 ---------------------------------------------------------------
25 EXEC [sys].[sp_dropmessage] @msgnum = 50001, -- int
26     @lang = us_English -- sysname
27 
28 -------------------------------------------------------------
29 USE [AdventureWorks]
30 GO
31 CREATE PROC Remove_Customer(@Customerid CHAR(10))
32 AS
33 BEGIN TRAN
34 DELETE FROM [Sales].[Customer] WHERE [CustomerID]=@Customerid
35 RAISERROR(50001,10,1,@Customerid)
36 COMMIT
37 GO
38 
39 --默认情况下,出现严重级别低于19的用户定义消息时,不会将其发送到Miscrosoft Windows
40 --应用程序日志。因此,严重级别低于19的用户定义消息不会触发SQL代理警报
复制代码

 

posted @   桦仔  阅读(344)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示