S. Fernando Asked: 2016-05-03 09:05:13 +0800 CST2016-05-03 09:05:13 +0800 CST 2016-05-03 09:05:13 +0800 CST 数据库快照如何用于恢复数据? 772 我知道数据库快照背后的逻辑及其工作原理。但我的问题是如何使用数据库快照来恢复数据?我们可以备份数据库快照并在新服务器上恢复它吗? 我正在使用 MS SQL 服务器 谢谢你。 sql-server snapshot 3 个回答 Voted Best Answer Kin Shah 2016-05-03T09:10:48+08:002016-05-03T09:10:48+08:00 数据库快照如何用于恢复数据? 是的,你必须使用restore database ... FROM DATABASE_SNAPSHOT. 这称为将数据库还原为数据库快照。您可以使用它来扭转严重错误,例如删除表、删除数据等。 这个很重要 : 创建快照后所做的所有更改都将丢失。 . 我们可以备份数据库快照并在新服务器上恢复它吗? 你不能。这包含在数据库快照限制中 您无法备份或还原数据库快照。 您不能附加或分离数据库快照。 很重要 : 使用数据库快照恢复数据库并不能替代您的备份和恢复策略。执行所有计划的备份仍然很重要。如果您必须将源数据库恢复到创建数据库快照的时间点,请实施使您能够执行此操作的备份策略。 Kenneth Fisher 2016-05-03T09:28:49+08:002016-05-03T09:28:49+08:00 但我的问题是如何使用数据库快照来恢复数据? 您在这里有两个选择。 您可以使用以下命令将现有数据库恢复到快照点: 从 DATABASE_SNAPSHOT 恢复数据库 DatabaseName = SnapshotName 但是,这将覆盖您现有的数据库。如果您认为您可能需要保留您正在覆盖的更改,您应该在恢复到快照之前备份当前数据库。 还请记住,只有您要恢复到的快照可以存在。因此,虽然您可以在不同的时间点创建多个快照,但在恢复到该快照之前,您必须删除所有快照,只保留一个。 如果您只是想恢复由于意外删除而丢失的几行,这有点矫枉过正。请记住,快照是数据库的只读副本at the time you took the snapshot。所以您可以轻松地选择出您需要的行并将它们添加回您的主数据库。 我们可以备份数据库快照并在新服务器上恢复它吗? 您无法备份快照。您最好使用现有的恢复策略,大概包括定期备份,并将其中一个备份还原到备用位置。但是,如果出于某种原因这不是一个选项并且您需要复制该数据,您应该再次记住它是数据库的只读副本。您可以使用 SSIS 等工具将数据复制到另一个位置。 Sean Gallardy 2016-05-03T11:12:49+08:002016-05-03T11:12:49+08:00 还有另一种方法可以使用快照来恢复丢失的数据,特别是与 AlwaysOn 可用性组一起使用时。 如果需要进行强制故障转移,则可以在恢复数据移动之前创建以前为主数据库的快照。这将为您提供强制故障转移前后的图片(快照是之前的,当前数据库是之后的)以及强制故障转移可能导致的潜在数据丢失。 这并不是要解决与 AG 无关的 OP 问题,而是一种使用数据库快照进行数据恢复的方法,这在任何其他答案中都没有提到。 随意将此文本合并到不同的答案中,然后删除此答案。
是的,你必须使用
restore database ... FROM DATABASE_SNAPSHOT
. 这称为将数据库还原为数据库快照。您可以使用它来扭转严重错误,例如删除表、删除数据等。这个很重要 :
.
你不能。这包含在数据库快照限制中
很重要 :
您在这里有两个选择。
您可以使用以下命令将现有数据库恢复到快照点:
从 DATABASE_SNAPSHOT 恢复数据库 DatabaseName = SnapshotName
但是,这将覆盖您现有的数据库。如果您认为您可能需要保留您正在覆盖的更改,您应该在恢复到快照之前备份当前数据库。
还请记住,只有您要恢复到的快照可以存在。因此,虽然您可以在不同的时间点创建多个快照,但在恢复到该快照之前,您必须删除所有快照,只保留一个。
如果您只是想恢复由于意外删除而丢失的几行,这有点矫枉过正。请记住,快照是数据库的只读副本
at the time you took the snapshot
。所以您可以轻松地选择出您需要的行并将它们添加回您的主数据库。您无法备份快照。您最好使用现有的恢复策略,大概包括定期备份,并将其中一个备份还原到备用位置。但是,如果出于某种原因这不是一个选项并且您需要复制该数据,您应该再次记住它是数据库的只读副本。您可以使用 SSIS 等工具将数据复制到另一个位置。
还有另一种方法可以使用快照来恢复丢失的数据,特别是与 AlwaysOn 可用性组一起使用时。
如果需要进行强制故障转移,则可以在恢复数据移动之前创建以前为主数据库的快照。这将为您提供强制故障转移前后的图片(快照是之前的,当前数据库是之后的)以及强制故障转移可能导致的潜在数据丢失。
这并不是要解决与 AG 无关的 OP 问题,而是一种使用数据库快照进行数据恢复的方法,这在任何其他答案中都没有提到。
随意将此文本合并到不同的答案中,然后删除此答案。