我正在尝试将MSSQL数据库复制到与源数据库相同的MSSQL服务器上,以用作测试版本。
我在SQL Server Management Studio中使用Copy DB向导,SQL Server版本是2008。
然而,它在最后一步失败了,并且在事件日志中没有提供任何信息的完全模糊的错误消息:
包“CDW_XXXXX-_XXXXX-_1”失败。
有没有人在MSSQL中有任何数据库副本的经验,并且可以解释我可能会在哪里解决问题。 (我意识到这一点并不是很多,但任何提示都可能有所帮助!)
谢谢, 本
答案 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';