2011-09-16 48 views
2

我在想什么最好的方法是将MDF文件(作为活动实例上的备份生成)中的单个记录还原到实时SQL Server数据库中。从SQL Server 2008 MDF文件还原记录的最快方法

我知道将文件附加到数据库的过程,并且已经读了很多关于完全恢复的内容,但是如何从一个表中选择单个记录并将其插回到实例上的同一个表中?

我总是可以从头开始创建新记录,基于select语句的结果行,但是我相信对于这样一个简单的任务必须有一个更智能和更清晰的方法。

非常感谢大家,期待您的回答。

干杯。

回答

1

取决于你有活的服务器上什么样的灵活性,你可以永远只是附加备份数据库以不同的名称在现场或其他链接的服务器,然后就选择直等效表你想记录在活动数据库中。

这是如何可行的完全取决于主键。如果它是一个自动生成的标识列,选择它将给出一个不同的主键,这可能会对您可能想要添加的任何链接记录产生不良结果,因此必须考虑新的主键。

查询的例子

insert into originaldb.dbo.Persons 
select * from backupdb.dbo.Persons where PersonId = '654G' 

originaldb.dbo.Persons是要选择到原始表。

backupdb.dbo.Persons是您恢复备份表。

你需要,如果你不选择整行来修改这个查询到,但是这是它的要点。

+0

感谢,这正是我想知道的。幸运的是,这是一个非常简单的表结构,因此此插入时自动生成的特定记录的ID不会被任何其他记录引用。这样的陈述会是什么样子?如果没有选择旧的标识,根本就SQL服务器生成一个新的,然后就从备份表中插入其他列这将是理想的。提前致谢! –

+1

@mikelc - 修改了我的原始答案以包含一个简单示例。 – hermiod

2

您不能简单地从MDF文件中读取记录,您需要将其附加或还原到数据库。

2

本地化,你不能。但是,Red Gate有一款名为“虚拟还原”的产品,可让您从备份安装数据库。

2

这是为了现在还是为了将来的规划?如果是后者,那么你可以利用数据库快照。

相关问题