隐藏 MS SQL 日志中的某些错误 ID

隐藏 MS SQL 日志中的某些错误 ID

SQL 2005 管理工作室

我有一个复制作业,日志中充斥着错误。我们故意将复制目标脱机,并且我们意识到了这个问题。但我们暂时不想删除复制作业,因为(我被告知)复制作业没有“禁用”...它要么存在,要么不存在;他们不希望它在新服务器运行一段时间之前处于“不存在”状态。

有没有办法隐藏不断溢出到日志中的错误?过滤视图?也许有一款你们都喜欢的解析这些东西的应用程序?

如果有人能推荐一个好的程序来检查 SQL 2005 和 SQL 2000 机器上的作业和日志,那么这是最好的答案:)

谢谢!

答案1

我编写了一个存储过程,它将错误日志吸入我邪恶的 DBA 目的数据库中的一个表中,然后通过电子邮件将与要忽略的消息模式表不匹配的内容发送给我。它每半小时在我的每台服务器上运行一次。我不必去查看日志或使用工具来查看是否存在我应该调查的错误,而且在错误日志从磁盘循环后,我还有错误记录。

第二个存储过程每两小时运行一次,并通过电子邮件向我发送有关自上次运行以来失败或运行时间比平时长或被禁用(并且表中没有条目表明它们被允许禁用)的作业的信息。

答案2

如果复制作业与所有其他 SQL 作业一样,则作业历史记录中应该有一个内置过滤器,并且一旦设置,只要 SQL 管理工作室未关闭,过滤器就会处于活动状态。

答案3

有两点:首先,不要尝试通过 SQL Server 自身的错误日志来排除故障。大错误会进入 Windows 应用程序事件日志。首先检查这一点的好处是,它是许多应用程序的标准,因此您可以使用相同的工具来监视许多应用程序。

其次,你问到在多台 SQL Server 2000 和 2005 机器上进行最佳作业和日志检查,所以我将投票给探索 SQL Server 焦点免责声明:我在 Quest 工作,哈哈哈。无论如何,它为您提供了一个图形仪表板,以简单的红色/黄色/绿色颜色编码显示您的所有服务器,然后您可以深入研究每个服务器以找出哪些作业和事物失败了。

答案4

对于记录问题... 如果您有兴趣自己动手,可以使用两个很棒的工具来搜索日志:

  • Logparser 2.2 是一款非常有用的工具,可用于过滤 SQL 错误日志、SQL 代理日志和 Windows 事件日志。它可从 Microsoft 下载获取,有帮助文件,并且使用示例很容易找到,只需稍加搜索即可。

  • 您还可以编写脚本来使用 Powershell 读取所有这些日志!使用 SMO 接口和 Server.ReadErrorLog 方法获取 SQL 错误日志:http://forums.iis.net/p/1145912/1855025.aspx#1855025

对于复制问题... 听起来您好像在说您让订阅者离线了。这是事务复制吗?您应该能够停止分发代理,告诉它停止向订阅者发送事务,这样应该可以停止错误。当您将订阅者带回来时,只需重新启动它即可。请仔细查看命令在被删除之前会在分发器上停留多长时间,如果超过该时间,您将不得不重新初始化。

对于更大的问题... 听起来你可能正在管理没有本地 DBA 的 SQL Server 环境。如果是这样,请投资培训、培训、再培训!我还建议查看更全面的工具的免费试用版,查看 SQL Server 杂志以查看大量列表。我相信你可以获得大多数的免费评估。

相关内容