使用不同名称在同一台PC中还原SQL Server数据库

时间:2011-03-08 05:10:53

标签: sql-server

我有:

SQL Server 2008

数据库名称:database1

我差不多一个月前从“database1”获得了备份。现在,通过某种方式,“database1”在一些表格中搞砸了。

所以我想从上次备份中仅恢复那些表。

我正在尝试创建另一个名为“database2”的数据库,并使用旧备份对其进行恢复。

我害怕从备份文件恢复,这可能会在“database1”中恢复,我只想重新存储在'database2'(这是新的)

3 个答案:

答案 0 :(得分:17)

如果您使用SSMS,您可以:

1)右键单击Databases文件夹

2)选择还原数据库

3)在“To Database”字段中输入您想要的任何名称 - 这将是数据库名称

4)选择“从设备”并找到您的备份文件。

可能需要通过选择选项页面来指定不同的物理文件名(我不记得SQL Server是否会在数据库中自动预填充不同的文件名已存在备份中包含的文件名。

答案 1 :(得分:6)

您可以将现有数据库重命名为OriginalDB,然后创建一个名为database1的空数据库。在其中恢复备份。现在您可以将数据从Database1(从bkp)复制到OriginalDB。完成后,删除备份并将原始文件重命名为Database1

答案 2 :(得分:6)

这里使用T-SQL可以帮助你。

  1. 执行“从磁盘恢复文件列表='您的备份文件'”这将从备份文件中获取数据库的逻辑文件列表及其物理路径。
  2. 根据从上面获得的信息,执行“从磁盘恢复数据库database2''您的备份文件',将'逻辑文件1'移动到'物理文件名1',将'逻辑文件2'移动到'物理文件名字2',......“。确保您在此处提供的物理路径未被使用。