0

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

我在 SQL Server Management Studio 中使用复制数据库向导,SQL Server 版本是 2008。

但是,它在最后一步失败,并出现一条完全模糊的错误消息,在事件日志中也没有提供任何信息:

包“CDW_XXXXX-_XXXXX-_1”失败。

有没有人有任何在 MSSQL 中复制数据库的经验,并且可以阐明我可能会寻求解决问题的地方。(我意识到这并不多,但任何提示都可能有所帮助!)

谢谢,本

4

1 回答 1

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';
于 2012-05-23T13:13:03.680 回答