从 SQL 服务器备份文件中删除记录
Delete records from SQL Server backup file
从备份中删除记录是一个疯狂的想法,因为备份的概念是为灾难服务的。但在我们的例子中,数据删除是一个有效的用例。
要求:简而言之,我们需要一个能够从活动数据库实例及其所有备份中删除特定记录的系统。
我们有一个功能齐全的内部系统,能够执行上述从活动数据库中删除数据的要求。但我们不知道的是如何对所有这些数据库备份执行相同的操作。
问题:
- 是否可以从备份中找到特定记录?
- SQL 服务器备份文件中是否有任何预定义的架构或数据分配样式,允许我们隔离特定记录?
- 您能分享一下您对这种删除方式的想法或经验吗?
注意:我们每天进行 2 次完整备份,并在任何时间点存储一周的价值(总共 14 个)。
您不能修改 .bak 文件的内容。你也不应该那样做。如果您想恢复到特定时间点,您应该使用完整恢复模型并进行差异备份和日志备份,而不仅仅是完整备份。
我理解"deleted everywhere"的经营理念。
我不知道有什么方法可以做到这一点。我什至不相信备份的格式已发布。这并不意味着没有人破解它,但它肯定不是一个广为人知的能力。
我认为,为了做到这一点,您需要安全地擦除所有备份副本并进行新备份。然后您将失去时间点恢复功能。
解决方案:我解决此业务需求的方法是恢复每个备份,删除所需的记录,安全擦除备份介质(或销毁旧的媒体并使用新媒体),然后对恢复的版本进行新备份。这将使您在没有特定记录的情况下及时恢复该数据。
从备份中删除记录是一个疯狂的想法,因为备份的概念是为灾难服务的。但在我们的例子中,数据删除是一个有效的用例。
要求:简而言之,我们需要一个能够从活动数据库实例及其所有备份中删除特定记录的系统。
我们有一个功能齐全的内部系统,能够执行上述从活动数据库中删除数据的要求。但我们不知道的是如何对所有这些数据库备份执行相同的操作。
问题:
- 是否可以从备份中找到特定记录?
- SQL 服务器备份文件中是否有任何预定义的架构或数据分配样式,允许我们隔离特定记录?
- 您能分享一下您对这种删除方式的想法或经验吗?
注意:我们每天进行 2 次完整备份,并在任何时间点存储一周的价值(总共 14 个)。
您不能修改 .bak 文件的内容。你也不应该那样做。如果您想恢复到特定时间点,您应该使用完整恢复模型并进行差异备份和日志备份,而不仅仅是完整备份。
我理解"deleted everywhere"的经营理念。
我不知道有什么方法可以做到这一点。我什至不相信备份的格式已发布。这并不意味着没有人破解它,但它肯定不是一个广为人知的能力。
我认为,为了做到这一点,您需要安全地擦除所有备份副本并进行新备份。然后您将失去时间点恢复功能。
解决方案:我解决此业务需求的方法是恢复每个备份,删除所需的记录,安全擦除备份介质(或销毁旧的媒体并使用新媒体),然后对恢复的版本进行新备份。这将使您在没有特定记录的情况下及时恢复该数据。