我在 Windows Server 2008 R2 Ent SP1 上有一个新的 SQL Server 2012 AlwaysOn 可用性组。
我正在主副本上创建维护计划,该计划应该对唯一的用户数据库进行完整(非仅复制)备份。
任务成功,子计划成功,但完成后没有备份文件。
当我删除维护计划并从头开始重新创建时,我得到了相同的结果。子计划和任务上的“FailPackageOnFailure”和“FailParentOnFailure”都设置为 True。我还尝试在任务中启用“忽略副本优先级”,但没有帮助。
所有日志条目(SQL Server 日志、SQL Server 代理日志、Windows 应用程序日志)仅显示一般的成功消息;我不确定在哪里可以获取更详细的信息。此维护计划和其他计划中都有其他备份作业,它们运行良好。
我在这里遗漏了什么?
提前致谢!
雪莉
答案1
事实证明,这是一个 AlwaysOn 可用性组的事情。
- 唯一能够进行完整、非仅复制备份的副本是基本的复制品。
- 默认备份首选项设置是‘优先备份’。
- 维护计划的 T-SQL 的“备份”部分封装在检查“首选副本”标志的 IF 块中。
因此,看起来我有 3 个选择:
- 将主副本设置为“首选”(并强制在主副本上进行日志备份);
- 使用 T-SQL 而不是“备份数据库”任务(这样我就是团队中唯一可以修复此问题的人);或者
- 决定只复制完整版本就足够了,因为那些能在辅助设备上完成。
这些情况都不是最佳的,而且我认为无法在辅助副本上进行正常完整备份有点奇怪。我希望微软能在不久的将来解决这个问题。
答案2
对于有类似问题的人,请查看此 msdn 文章。它解释了备份维护计划和 SQL AG:
文章的基本思想是:
- 在 AG 中的所有副本上设置相同的维护计划。如果您在连接到 AG 时使用向导,则它将仅在主副本上设置维护计划。
- 在可用性组上配置备份首选项计划。
- 启用“对于可用性数据库,忽略备份的副本优先级和主设置上的备份”复选框并运行维护作业。
PS AG 仅支持仅复制备份。