管理作业自动化
时间:2007-12-23 来源:不详 作者:迈克DB
事件发生时,SQLServer 代理程序将比较事件与您所定义的警示清单,假如警示已被事件所定义的话,那警示就会启动。当所定义的效能门坎达到系统监视器中指定的 SQL Server 对象,就会引发效能条件的警示,就像在系统监视器对象 General Statistics 之下的计数器 User Connections。例如,您可以设定当计数器的值达到 50 时发生警示。( 第 36 章 中有系统监视器的说明。)
________________________________________
说明
为了让您的警示能够运作,必须执行 SQLServer 代理程序服务。
________________________________________
事件讯息纪录
在说明如何为事件建立警示之前,我们先回顾一下让讯息传送到 Windows NT或 Windows 2000 应用程序事件记录的事件类型;只有这些事件可以用来设定警示。事件(或错误)重要层级从 19 到 25 是自动回报到 Windows NT 或 Windows 2000 应用程序事件记录中的,因此可以启动警示。默认值中事件重要层级少于 19 的都没有纪录,所以警示就不能用这些事件启动。要使那些事件能够记录并且可以启动的话,您必须使用 sp_altermessage、RAISERROR WITH LOG 陈述式,或者 xp_logevent 来改变事件或讯息的纪录状态。本节中,您将学到如何建立使用者定义的事件讯息,并学会如何发出警示讯息以确保事件将写入应用程序事件记录中。
copyright dedecms
________________________________________
说明
当 SQL Server 讯息纪录在 Windows NT 或 Windows 2000 应用程序事件记录时,它同时也记录在 SQL Server 记录中了。要在 Enterprise Manager 中检视 SQL Server 记录,请展开 治理 数据夹,然后展开 SQL Server记录文件 数据夹。
________________________________________
建立使用者定义事件讯息
系统所有的信息和使用者定义讯息都储存在 master 数据库的 sysmessages 数据表中。要建立使用者定义讯息,请用 T-SQL 系统 sp_addmessage 预存程序,语法如下:
sp_addmessage [ @msgnum = ] msg_id ,
[ @severity = ] severity ,
[ @msgtext = ] 'msg'
[ , [ @lang = ] 'language' ]
[ , [ @with_log = ] 'with_log' ]
[ , [ @replace = ] 'replace' ]
使用者定义讯息必须有一个讯息 ID 值(msg_id)为 50001 或者更大的值。Severity 参数是错误的重要层级,范围从 1 到 25,越高的数字表示越高错误的重要层级。只有系统治理员可以将重要层级设定成 19 到 25。msg_text 参数是错误讯息的内容,当错误发生时会显示在应用程序事件记录中。language 参数指定讯息使用哪种语言写入,因为 SQL Server 可以安装多种语言。with_log 参数可设定成 TRUE 或 FALSE,指定讯息是否要记录在 Windows NT 或 Windows 2000 应用程序事件记录中。默认值为 FALSE,这样在使用 RAISERROR WITH LOG(在下一节说明)时会覆写这个设定值。Replace 参数指定新讯息应该取代现存有相同讯息 ID 编号的讯息。
![](/images/arc_icon.gif)
文章评论
共有位Admini5网友发表了评论 查看完整内容