我想运行SQL数据库(MSSQL)的备份,然后删除备份中包含的所有内容,本质上是清除备份的数据,意图是在某个时间点将其归档。
数据库结构很简单,只有六个表,只有隐含的FK。 原来的想法是把所有表中的最大PK变成variables,备份然后删除PK <=预备份捕获。
这当然不能做到我想要的,如果插入之间发生抓取和删除(备份在中间)
而且由于我无法在交易中执行备份。
我能够可靠地想到的唯一方法是备份它,临时还原为一个不同的名称,从备份的数据中设置我的variables,然后返回到原始数据库删除。 看起来好像是一个很长的路要走到看起来像一个简单的任务。
拍摄数据库的快照 ,然后备份 ,然后比较和对比快照和当前数据库。
话虽如此 – 没有validation备份与恢复如何保证备份工作。
编辑:以下评论:
如果你只有6个表,为什么不做一个SELECT INTO备份到临时数据库 – 然后呢? 分类你自己的快照。