MSSQL服务器上的DB Copy失败

时间:2012-05-23 12:05:22

标签: sql-server

我正在尝试将MSSQL数据库复制到与源数据库相同的MSSQL服务器上,以用作测试版本。

我在SQL Server Management Studio中使用Copy DB向导,SQL Server版本是2008。

然而,它在最后一步失败了,并且在事件日志中没有提供任何信息的完全模糊的错误消息:

包“CDW_XXXXX-_XXXXX-_1”失败。

有没有人在MSSQL中有任何数据库副本的经验,并且可以解释我可能会在哪里解决问题。 (我意识到这一点并不是很多,但任何提示都可能有所帮助!)

谢谢, 本

1 个答案:

答案 0 :(得分:2)

我不会使用向导。

首先找出你需要处理的文件:

SELECT name, type_desc
  FROM [db].sys.database_files
  ORDER BY [type];

在大多数情况下,这将产生两行:

name        type_desc
----------- ---------
db          ROWS
db_log      LOG

您需要在一分钟内获得此信息。

现在,请备份数据库:

BACKUP DATABASE db TO DISK = 'C:\wherever\db.bak';

完成后,您可以使用新名称还原数据库。但是为了防止覆盖原始数据库的文件,您需要使用上面的信息来指定WITH MOVE参数。

RESTORE DATABASE db_copy FROM DISK = 'C:wherever\db.bak'
  WITH MOVE 'db' TO 'C:\wherever\db_copy_data.mdf', 
  MOVE 'db_log' TO 'C:\wherever\db_copy_log.ldf';