我有一个在单个服务器上具有多个 AG 的环境,它们遇到分裂情况,其中一些最终在一个节点上,而另一些最终在另一个节点上(可能是在故障转移事件中)。当维护任务(重新索引、更新等基本范围)在这些节点上执行时,它们只会在各自 AG 的主端上的 read_write 数据库上有效地执行操作。这会导致作业失败,因为数据库在辅助节点上是只读的。因此,在分裂 AG 的情况下,两个节点都会在作业历史记录中显示维护失败。
不用说,很难监控这些集群。我提出了两种可能的管理解决方案。我们要么根据数据库的可更新性属性使用 DBCC 命令为各个数据库编写维护任务脚本,要么仅将自己限制为每台服务器一个 AG。他们不喜欢这两种解决方案。有谁知道我可以保留内置 SQL Server 维护任务并让它们仅针对主数据库的方法?