利用.bak文件,用TSQL新建一个数据库,RESTORE DATABASE 时,还原的还是备份文件数据库的名称。
先要求数据库逻辑名称和文件名称都为新名称,而不是备份文件数据库的名称
------解决思路----------------------
先建一个空库,名称自定,然后
通过还原
restore database 自定数据库名 from disk='盘符\xx.bak' with replace,recovery
------解决思路----------------------
先手工在SSMS中操作,选好BAK文件,输入一个还原的新库名,再设定好要还原的位置……
然后点上面的菜单,可以生成建库脚本。
通过这个脚本,就可以手工修改生成所需的建库脚本。
在我电脑上就生成了这样的脚本:
RESTORE DATABASE [TestDBNew] --新库名
FROM DISK = N'E:\testdb.bak' --要还原的备份文件
WITH FILE = 1
, MOVE N'TestDB' TO N'D:\TestDB\TestDBNew.mdf' --数据文件存放位置
, MOVE N'TestDB_log' TO N'D:\TestDB\TestDBNew.ldf' --日志文件存放位置
, NOUNLOAD, STATS = 10
只要改上面这四项就可以了。