cur*_*Boy 1 sql-server restore
我在这里找到了类似的东西,但大约在 10 年前就有人问过了,那时没有选择。我想知道现在有没有。
我正在对应用程序进行一些操作并在前后进行备份,但是当我想恢复数据库以回滚到以前的版本时,它花费了大量时间和注意力。我想知道是否有任何快速的方法来获取 myDB_v1、myDB_v2、v3 等差异备份,并在它们之间快速恢复。提前致谢。
不可以。在没有完整备份(也称为差异基础备份)的情况下,不能只应用差异备份。
您想从根本上撤消备份后所做的更改,而差异无法做到这一点。它们被设计为在另一个方向上工作——它们“快进”自之前的完整备份以来所做的更改,使您能够更快地达到最终状态,而无需在此过程中重做实际更改。
差异备份仅包含自上次完整备份以来发生更改的数据页。您的方案需要撤消在进行差异备份后更改的页面——差异不知道将来会发生什么变化,因此它可能没有数据来撤消这些更改。为了执行您的建议,您需要对每个数据页进行备份,以便您可以撤消任何可能的更改——此机制是完整备份。
听起来您想查看数据库快照。
快照本质上是您正在寻找的差异的倒数。他们跟踪自创建快照以来的更改,以便快照显示原始版本,而不管真实数据库发生了什么。快照还可用于回滚到创建它们的时间点。
从文档:
如果源数据库出现用户错误,您可以将源数据库恢复到创建给定数据库快照时的状态。数据丢失仅限于自快照创建以来对数据库的更新。
例如,在进行主要更新(如批量更新或架构更改)之前,在数据库上创建数据库快照以保护数据。如果出错,可以通过将数据库恢复到快照来使用快照进行恢复。为此,恢复可能比从备份恢复快得多;但是,您之后无法向前滚动
重要的是要注意快照不是备份。它们可用于恢复数据更改,但如果原始/真实数据库损坏或脱机,它们将无济于事。
您需要仔细阅读恢复快照以确保它确实满足您的需求,并且各种限制适用于您的场景。特别是,为了恢复到快照,您需要先删除其他快照。
您提到“...myDB_v1、myDB_v2、v3 等……并在它们之间快速恢复。” 快照允许您同时主动查询所有版本,但是当您想将“真实”数据库恢复到这些版本之一时,该过程将涉及删除所有其他快照版本。
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |