如何从SQL Server数据库备份中拯救一小部分数据?

Gre*_*ter 5 backup database-restore sql-server-2008

我有一个实时数据库,从中删除了一些数据,我需要返回数据.我有一个已经在另一台机器上恢复的该数据库的最新副本.自备份以来,对实时数据库进行了无关的更改,因此我不想通过完全还原来清除实时数据库.

我需要的数据很小 - 只有十几行 - 但是那些十几行每个都有一些来自其他表的行和外键,而那些几行知道有多少行用外键指向它们,所以它会手工复原很复杂.

理想情况下,我能够告诉数据库的备份副本,以选择我需要的十几行,以及它们所依赖的所有内容的传递闭包,以及依赖于它们的所有内容,并导出那些数据,然后我可以导入到实时数据库而不触及任何其他内容.

这里最好的方法是什么?谢谢.

每个人都提到了sp_generate_inserts.使用它时,如何防止标识列搞乱一切?你刚刚开启IDENTITY INSERT吗?

Epp*_*ppz 1

我以前遇到过类似的情况,但发现手工操作对我来说效果最好。

我将备份恢复到第二台服务器,并执行查询以获取所需的信息,然后构建一个脚本来插入数据sp_generate_inserts,然后对每个具有关系行的表重复该操作。

总共我只有大约 10 条主记录,其中的关系数据位于另外 2 个表中。我只花了大约一个小时就让一切恢复原状。

更新要回答有关 sp_generate_inserts 的问题,只要指定 @owner='dbo',它就会将 Identity insert 设置为 ON,然后在脚本末尾将其设置为 off。