Sql server 在同一台电脑上以不同的名称还原SQL Server数据库

Sql server 在同一台电脑上以不同的名称还原SQL Server数据库,sql-server,Sql Server,我有: SQL Server 2008 数据库名称:database1 大约一个月前,我从“数据库1”中进行了备份。现在,不知怎么的,“database1”在一些表中被弄乱了 因此,我只想从上次备份中恢复这些表 我正在尝试创建另一个名为“database2”的数据库,并使用旧备份在其上进行恢复 我害怕从备份文件中恢复,这可能会在“database1”中恢复,我只想重新存储在“database2”(这是新的)您可以将现有数据库重命名为类似于OriginalDB的名称,然后创建一个名为databas

我有:

SQL Server 2008

数据库名称:database1

大约一个月前,我从“数据库1”中进行了备份。现在,不知怎么的,“database1”在一些表中被弄乱了

因此,我只想从上次备份中恢复这些表

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


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

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

这里是使用T-SQL可以帮助您解决问题的地方

  • 执行“restore filelistonly from disk='your backup file here'”这将从备份文件中获取数据库的逻辑文件列表及其物理路径
  • 根据从上面获得的信息,执行“从磁盘还原数据库database2=‘此处的备份文件’,将‘逻辑文件1’移动到‘物理文件名1’,将‘逻辑文件2’移动到‘物理文件名2’,…”。确保此处提供的物理路径未被使用

  • 如果您正在使用SSM,您可以:

    1) 右键单击数据库文件夹

    2) 选择还原数据库

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

    4) 选择“从设备”并查找备份文件


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

    lol,请参阅询问日期,您的链接与此问题重复。仍然应标记为重复,因为我必须在选项页中手动设置不同的文件名。如果我没有使用bak file,我可以在源数据库中使用db名称………但我无法看到源数据库中的所有db。你能帮我解释为什么我不能这样做吗?如果一个db已经存在,或者有相同文件名的文件,请重命名db和文件。是-即使你给它一个新名称和新文件名,它仍然会失败(卡在“还原…”状态)。非常烦人。如果我不使用bak文件,我可以在源数据库中使用db名称………但我无法看到源数据库中的所有db。请您帮助我为什么我不能这样做。换句话说,您在其他数据库中没有权限。因此,请与具有系统管理员角色的人交谈以帮助您,自己获取系统管理员,或者练习其他方法之一在这个线程中使用r解决方案(即重命名当前数据库并恢复为旧名称)。但是,如果您缺乏当前权限会影响后面的工作,我不会感到惊讶。