从SQL Server备份文件

时间:2017-12-08 16:03:39

标签: sql sql-server database-backups

从备份中删除记录是一个疯狂的想法,因为备份的概念是在灾难中提供服务。但在我们的例子中,数据删除是一个有效的用例。

要求:简而言之,我们需要一个能够从活动数据库实例及其所有备份中删除特定记录的系统。

我们有一个功能齐全的内部系统,能够执行上述从活动数据库中删除数据的要求。但我们不知道的是如何在所有这些数据库备份中使用相同的激动剂。

问题:

  • 是否可以从备份中找到特定记录?
  • SQL Server备份文件中是否有任何预定义的架构或数据分配方式,这样我们可以隔离特定的记录?
  • 你能否分享一下这种删除方式的想法或经验?

注意:我们每天进行2次完整备份,并在任何时间点存储一周的价值(总共14次)。

2 个答案:

答案 0 :(得分:1)

我确实理解"随处删除的商业概念"。

我不知道有什么方法可以做到这一点。我不相信备份的格式甚至已经发布。这并不意味着某人没有攻击它,但它肯定不是一个广为人知的能力。

我认为,为了做到这一点,您需要安全地擦除所有备份副本并进行新备份。然后你失去了时间点恢复能力。

解决方案:解决此业务需求的方法是恢复每个备份,删除所需的记录,安全擦除备份媒体(或销毁旧媒体并使用新媒体) ),然后采取THAT恢复版本的新备份。这将为您提供没有特定记录的数据的时间点恢复。

答案 1 :(得分:0)

您无法修改.bak文件的内容。你也不应该这样做。如果要还原到特定时间点,则应使用完全恢复模型并执行差异和日志备份,而不仅仅是完全备份。