• 相关软件
    >xp_logevent 创建者:webmaster 更新时间:2006-02-16 15:51

    将用户定义消息记入 Microsoft® SQL Server™ 日志文件和 Microsoft Windows NT® 事件查看器。可以使用 xp_logevent 发送警报,而不必给客户端发送消息。



    语法


    xp_logevent {error_number, 'message'} [, 'severity']



    参数


    error_number



    是用户定义的大于 50,000 的错误号。最大值为 1073741823 (230 - 1)。



    'message'



    是少于 8,000 个字符的字符串。



    'severity'



    是以下三个字符串之一:INFORMATIONALWARNINGERRORseverity 是可选的,其默认值为 INFORMATIONAL。



    返回代码值


    0(成功)或 1(失败)



    结果集


    对于所包含的代码示例,xp_logevent 返回下列错误信息:



    The command(s) completed successfully.


    注释


    在从 Transact-SQL 过程、触发器、批处理等环境中发送消息时,请使用 RAISERROR 语句,而不要使用 xp_logeventxp_logevent 不调用客户端的消息处理程序,也不设置 @@ERROR。若要将消息写入 Windows NT 事件查看器和 SQL Server 内的 SQL Server 错误日志文件中,请执行 RAISERROR 语句。



    权限


    xp_logevent 的执行权限默认授予 master 数据库中的 db_owner 固定数据库角色成员以及 sysadmin 固定服务器角色成员,但可以授予其他用户。



    示例


    下例将消息(连同传递给消息的变量)记入 Windows NT 事件查看器。



    DECLARE @@TABNAME varchar(30)
    DECLARE @@USERNAME varchar(30)
    DECLARE @@MESSAGE varchar(255)
    SET @@TABNAME = 'customers'
    SET @@USERNAME = USER_NAME()
    SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user
      ' + @@USERNAME + '.'

    USE master
    EXEC xp_logevent 60000, @@MESSAGE, informational
    相关文章
    本页查看次数: