首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全数据库备份

全数据库备份
EN

Database Administration用户
提问于 2016-01-13 14:15:41
回答 3查看 315关注 0票数 1

我正在使用第三方工具来进行计划数据库备份。我需要再做一次完全备份。它是否会受到预定备份的影响?如果有,有什么解决办法吗?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2016-01-13 14:48:26

简短的回答是肯定的。

通常,在完全备份之后执行差异备份,这完全取决于最后一次完全备份。这意味着,如果发生数据库故障,就没有机会应用计划好的差异备份,因为它们将与另一个LSN一起使用。

解决方案是使用COPY_ONLY选项。

票数 9
EN

Database Administration用户

发布于 2016-01-13 15:25:51

新的新的完全数据库备份将在预定备份中受到影响。

让我们考虑以下示例:假设整个数据库备份从每天12:00开始,差异备份每三小时启动一次,事务日志备份每小时进行一次。

然后,在12点进行计划的完全备份之后,您决定在14.00进行额外的备份,但是所有其他的差异和事务日志备份都是按照计划进行的。假设在22.20发生了一些故障,您正在尝试从12.00时完成的完全备份开始恢复数据库,在这种情况下,Server将向您发送错误消息。

原因是在15.00、18.00和21.00时完成的差异备份依赖于14.00时完成的完整备份。当然,如果您有所有事务日志备份,您可以在没有差异备份的情况下恢复数据库,但是这样的过程将花费更多的时间,否则您可以做的一切都是恢复上次计划的完全备份,从12.00开始的所有更改都将丢失。

因此,要使其他完全数据库备份使用COPY_ONLY选项:

代码语言:javascript
复制
BACKUP DATABASE your_database TO DISK = 'd:/full.bak' WITH COPY_ONLY
票数 4
EN

Database Administration用户

发布于 2016-02-04 09:37:15

是的,它将影响预定备份(LSN链)。

如果你需要做一个额外的完全备份。您需要使用COPY_ONLY选项。此选项将使附加的完整备份不改变差异链。这样,您根本不影响LSN链。在新的临时备份之后采取的任何差异备份的LSN仍然指原始的完全备份,而不是冒充者。

因此,要使用COPY_ONLY选项进行完全备份,请执行以下T命令:

BACKUP DATABASE database_name TO DISK = 'y:/add_full.bak' WITH COPY_ONLY

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/126114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档