在做数据库备份时常常需要将A数据库备份,并恢复成一模一样的B数据库,但是在restore的时候SQL Server会自动式别.bak文件的数据文件和日志文件的逻辑名称(一般情况下是 A.mdf 和 A_log.ldf ),而数据库中又已经存在A数据库,这时便会报错。比较傻瓜式的方法是重命名之前的数据库,但是这样又会有很多不可预见的问题。经查阅资料发现合理的方法如下:
>>1
RESTORE FILELISTONLY FROM DISK=‘D:\A.bak‘
此时结果集会显示A备份数据库的数据文件和日志文件的逻辑名称
>>2
RESTORE DATABASE B FROM DISK=‘D:\A.bak‘
WITH
MOVE ‘A‘ TO ‘D:\B.mdf‘,
MOVE ‘A_log‘ TO ‘D:\B_log.ldf‘
运行完成后输出 RESTOREDATABASE successfully processed 255 pages in20.504 seconds (10.89 MB/sec).
>>3
刷新数据库会发现B数据库已存在
————————————————
版权声明:本文为CSDN博主「Sandra_kisasa」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Sandra_kisasa/article/details/21445837
原文:https://www.cnblogs.com/guhuaxia/p/12504522.html
如果您也喜欢它,动动您的小指点个赞吧