sql - 从同一台服务器上另一个数据库的备份创建新数据库?

标签 sql database sql-server-2008

我正在尝试从同一台服务器上的旧数据库备份创建一个新数据库。 当使用 SQL server management studio 并尝试从备份恢复到新数据库时,出现此错误

System.Data.SqlClient.SqlError: The backup set holds a backup of a database 
other than the existing 'test' database. (Microsoft.SqlServer.Smo)

谷歌搜索后我找到了这段代码

    RESTORE DATABASE myDB

 FROM DISK = 'C:\myDB.bak'

 WITH MOVE 'myDB_Data' TO 'C:\DATA\myDB.mdf',

MOVE 'myDB_Log' TO 'C:\DATA\myDB_log.mdf'
GO

我想知道移动语句是否会弄乱备份来自该服务器上的数据库?

谢谢,感谢所有帮助。

最佳答案

我应该做什么:

  • 单击 SQL Server Management Studio 上右键单击“数据库”节点时出现的“恢复数据库...” float 菜单。
  • 使用要恢复的数据库和新名称填充向导。
  • 重要如果数据库仍然存在,请更改"file"选项卡中的“还原为”文件名,以避免出现“文件已在使用,无法覆盖”的错误消息。

我做什么

我知道为什么我更喜欢这样做:

  • 我用我最喜欢的参数创建了一个空白的目标数据库。
  • 然后,在“SQL Server Management Studio”恢复向导中,我寻找覆盖目标数据库的选项。它位于“选项”选项卡中,名为“覆盖现有数据库(WITH REPLACE)”。检查一下。
  • 记得在"file"页面选择目标文件。

您可以更改向导左侧的“选项卡”(常规、文件、选项)

关于sql - 从同一台服务器上另一个数据库的备份创建新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299811/

相关文章:

sql-server-2008 - 在SQL Server 2008 R2中生成X位随机数

sql - Drill SQL 中的 NumberFormatException 当它实际上是一个数字时转换为 BIGINT

database - SID 与 Oracle tnsnames.ora 中的服务名称有何不同

mysql - 添加外键时,如果指定约束则不会添加

php - PDO + PHP lastInsertId() 问题

android - SQlite:数据库被锁定错误

sql-server-2008 - 向 SELECT 查询的结果添加一个计数器

sql - 为什么 SQL Server 的 OBJECT_ID(NVARCHAR) 不带变量?

java - 架构名称中的破折号 - Groovy SQL 查询错误

mysql - SQL-使用条件从表(LEFT JOIN)中获取计数