从SQL Server备份文件中删除记录



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

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

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

问题:

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

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

我确实了解"无处不在删除"的业务概念。

我不知道有任何方法。我不认为备份的格式甚至发表。这并不意味着有人没有被黑客入侵,但这肯定不是一个广泛的能力。

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

解决方案:我解决此业务需求的方式是恢复每个备份,删除所需的记录,安全擦除备份媒体(或破坏旧媒体并使用新媒体),然后对该恢复版本进行新的备份。这将为您提供该数据的时间点恢复,而没有特定的记录。

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

最新更新