我有一个具有主数据库服务器和辅助数据库服务器的Server高可用性
可用性组备份首选项设置为“主”。
“维护计划”为“初级计划”,并规定:
计划历史记录中没有报告错误,但我发现只有不参与可用性组的数据库才会被备份。在高可用性环境下的维护计划上似乎缺乏资源。
有什么建议可以让我得到维护计划在高可用性组的数据库上工作吗?
发布于 2017-08-04 17:25:15
最好的方法是使用Ola Hallengren的维护计划,因为在维护中确定AGs的能力已经“出炉”了。但是,如果出于某些原因,您不想或不能使用他的维护计划,那么您需要插入确定性函数If sys.fn_hadr_is_primary_replica ( @dbname ) <> 1
BEGIN
-- If this is not the primary replica, exit (probably without error).
END
-- If this is the primary replica, continue to do the backup.,以确定数据库是否驻留在主节点中。示例来自:https://learn.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-hadr-is-primary-replica-transact-sql
发布于 2017-08-07 17:23:58
我们发现我们必须使用SQL代理作业包装器来检查作业是在主作业还是次要作业上运行。如果在主服务器上,则包装器将调用与维护计划相关联的命名作业。
如果希望将AAG数据库与非AAG数据库分开备份,则需要维护计划中的另一个子任务来备份非AAG数据库,这反过来会在SQL Agent中创建一个单独的作业。
https://dba.stackexchange.com/questions/182692
复制相似问题