我有一个 2 节点 AG 设置(不是 FCI)。我需要配置一个警报以根据错误日志中找到的字符串触发作业,该字符串显示该节点现在是新的主节点。
我要使用的字符串是:
'primary_pending' 到 'primary_normal'
这是辅助节点变为主节点时错误日志中显示的内容。我希望警报启动我创建的 SQL 作业,以自动化我们的 SSRS 以使用新的主副本。
下面是我设置的警报,但它没有正确触发。我确实将警报配置为在触发此警报时执行作业。
发生故障转移时,作业不会启动。我猜这可能是由于使用了错误号。我找到了一篇关于使用它的博客文章,但似乎无法再次找到它。错误日志在此文本的行中没有显示任何错误号,所以我认为这是问题所在。
如何根据在错误日志中找到的文本触发警报,或者有更好的方法吗?
我确实有条件逻辑来检查我所有工作中的主要/次要状态,但我不能将它用于这项工作,因为我希望它只执行 1x(当它第一次成为主要时)。
您需要
<all databases>
在数据库名称选择中进行选择。您正在检查的错误与特定数据库无关,因此指定数据库可以有效地过滤它,因此警报不会关心它。我刚刚使用 RAISERROR 对此进行了测试,以记录一条包含“'this'或'that'”的消息,并且效果很好。起初我认为您可能需要分隔单引号,但在我的测试中我没有并且它有效。