sql还原数据库时候改变数据库名

需求:在做图书馆数据整合时候,由于有两个校区,用的是分离开的同一个数据库,数据库名字都一样的,现在我要整合在一起,我的想法是把两个数据库先还原到我本地,用写好的脚本整合到一起。所以,我还原两个数据库时候就遇到了因为数据库名相同而无法还原情况。下面给出一个解决方案

新建了两个数据库。其中gdlisxp用于正常还原,xzgdlisxp用以下方式还原。新建查询,执行以下语句

RESTORE DATABASE xzgdlisxp     -- xzgdlisxp是我新建的数据库
FROM DISK = 'F:20160412成都校区金盘数据20160412.bak'   --本地备份数据库
with replace,
MOVE 'xzgdlisxp' TO 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAxzgdlisxp.mdf',   
MOVE 'xzgdlisxp_log' TO 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAxzgdlisxp.ldf'

执行成功后还需要再次还原一下,再次还原时候一定要选中覆盖还原

“文件”里面修改"还原为"的mdf和ldf都要改为现在的才行。 

清空日志文件

USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE
GO
USE AFMS
GO
DBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY) 
GO
USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY FULL
GO
原文地址:https://www.cnblogs.com/luoxiaozhao/p/5748302.html