【问题标题】:SQL Server 2005 & the Windows Event LogSQL Server 2005 和 Windows 事件日志
【发布时间】:2010-11-14 16:32:50
【问题描述】:

我正在运行 SQL Server 2005 Standard。我收到了几个需要做出反应的警报。所以我创建了这些警报,但它们从未出现,因此依赖于它们的作业永远不会运行。

我发现对于警报,SQL Server 必须写入 Windows 事件日志,但这根本没有发生。每个消息来源都告诉我,通常 SQL Server 会自动记录,所以我不知道为什么我的实例没有。有谁知道(取消)激活记录到 Windows 事件日志的选项?

更新:

我看到我的描述缺少一些基本信息,所以我将在此处添加。

我有一个见证人的镜像场景。我要查找的是 ID 为 1440 和 1441 的事件,这表明一台服务器将其角色 vom Principal 更改为 Mirror。这些应该自动写入 Windows 事件日志,但不会发生。毕竟,不仅仅是一条来自 SQL Server 的消息被写入事件日志。

【问题讨论】:

    标签: sql-server-2005 event-log server-configuration


    【解决方案1】:

    sp_altermessage 更改系统消息以便记录它们(取决于版本/SP)

    sp_addmessage 用于用户定义的警报

    RAISERROR.. WITH LOG 在您的代码中(需获得许可)

    否则,您要查找哪些警报?

    【讨论】:

    • 我有一个带有见证的镜像场景。我要查找的是 ID 为 1440 和 1441 的事件,这表明一台服务器将其角色 vom Principal 更改为 Mirror。所以我需要 SQL Server 生成的消息,而不是任何用户定义的消息。
    【解决方案2】:

    我终于找到了答案。有一个启动参数用于告诉 SQL Server 它不应将任何内容记录到 Windows 事件日志中:-n

    要设置它,您必须打开 SQL Server 配置管理器,打开 SQL Server 实例的属性并转到高级。在那里您会找到一个名为 Startup Parameters 的字段。在这里只需输入(或在我的情况下删除)参数 -n,您的 SQL Server 将停止写入 Windows 事件日志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多