sp_addmessage,内部函数。
sp_altermessageSQL-SERVER内部函数,功能:更改 sysmessages 错误的状态。
语法sp_altermessage [ @message_id = ] message_number
, [ @parameter = ] 'write_to_log'
, [ @parameter_value = ] 'value'
参数[@message_id =] message_number
要更改的 sysmessages 错误或消息编号,message_number 的
数据类型为 int,没有默认值。
[@parameter =] 'write_to_log'
表示将此消息写入 Microsoft® Windows NT® 的应用程序日志,write_to_log 的数据类型是 sysname,没有默认值。如果 write_to_log 的值为 WITH_LOG,则当消息出现时,将其写入 Microsoft Windows NT 日志。
说明 如果消息写入了 Windows NT 应用程序日志,它也将被写入 Microsoft SQL Server™ 错误日志文件。
[ @parameter_value =] 'value'
错误是否写入 Windows NT 应用程序日志。value 的
数据类型为 varchar(5),没有默认值。如果为 true,则错误总是写入 Windows NT 应用程序日志。如果为 false,则错误并不是始终都写入应用程序日志,但可以写入应用程序日志,具体取决于错误是如何产生的。
返回代码值0(成功)或 1(失败)
结果集无
注释带有 WITH_LOG 选项的 sp_altermessage 的作用和 RAISERROR WITH LOG 参数的作用相似,只是 sp_altermessage 更改现有消息的记录行为。如果消息已更改为 WITH_LOG,则它总是被写入 Windows NT 应用程序日志,而不管用户如何引起该错误。即使不带 WITH LOG 选项执行 RAISERROR,错误也会被写入 Windows NT 应用程序日志。
可以使用 sp_altermessage 修改由 sp_addmessage 添加的
系统消息(例如 605)和用户消息。
权限只有 sysadmin 和 serveradmin 固定服务器角色成员才能执行该
存储过程。
示例下面的示例导致现有消息 55001 被记录到 Windows NT 应用程序日志中。
sp_altermessage 55001, 'WITH_LOG', 'true'