指定MDF、LDF的路径与文件名还原数据库的T-sql脚本
我们知道采用下面的语句可以还原数据库:
RESTORE DATABASE "DbName" FROM DISK='D:\data.bak';
但是,这样还原有一个缺点,就是还原成功的数据库的MDF和LDF文件路径和名称,都是带着DbName原记录的,而我想定义新的MDF和LDF文件分别为:
E:\text.MDF
E:\text.LDF
要如何操作?
加上move子句。新年祝福网页
restore database db from disk='D:\data.bak'
with move 'mdf逻辑文件名' to 'E:\text.MDF',
move 'ldf逻辑文件名' to 'E:\text.ldf'
用了一个笨方法:
--查看文件逻辑文件名
restore filelistonly from disk='D:/data.bak'
--查询数据库逻辑文件名
SELECT name FROM sys.database_files
--修改数据文件或日志文件的逻辑名称
ALTER DATABASE [DbName]
MODIFY FILE ( NAME = mylongbaidb, NEWNAME = new_mydb )
ALTER DATABASE [mydb]
MODIFY FILE ( NAME = mydb_log, NEWNAME = new_mydb_log )