我试图复制“开发”数据库并创建一个名为“测试”的新数据库。对于备份,我使用了下面的查询,它工作正常。
BACKUP DATABASE Development TO DISK = 'Development15feb2022.bak'
为了恢复我已经使用了下面的查询,它给出了一些错误,如 'Development.mdf 不能被覆盖。它正在被数据库' Development '使用。
RESTORE DATABASE Testing FROM DISK = 'Development15feb2022.bak'
我已经做了一些谷歌搜索,并知道我需要使用 MOVE 的逻辑文件和日志。但我不知道这是否适用于我的情况。我希望开发和测试工作,并分别存储每个日志。
还原时,默认情况下,SQL Server 将在与原始备份数据库相同的位置和名称创建数据库文件。
如果您在同一 SQL 实例上复制数据库,则会引发错误,因为文件已经存在。因此,您必须将文件移动到另一个目录或为文件指定另一个名称,这是由 RESTORE 语句的 MOVE 选项完成的。
在此之前,您必须通过执行 Transact SQL 命令来询问哪些文件构成了原始数据库:
RESTORE FILELISTONLY FROM DISK = 'the path and file of my sql backup'
然后你将不得不遵循 MOVE 语法,这只是:
MOVE 'logical file name' TO 'new path and/or new file name'
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(63条)