背景:拷贝bak文件还原成新库,发现数据库名称与逻辑文件名不一致,强迫症患者表示想修改为一致,那怎么办呢?
踩坑:用SSMS的视图进行附加的话,会报错:“至少需要一个文件",但脚本就可以解决
方法一:脚本修改
------------------修改逻辑名称后分离附加数据库----------
USEmaster
GO
--1.修改物理名称(视图重命名会快些)
EXECs_namedb'btms20200628','btmsssh0628'--前为dname,后为newname--2.修改逻辑名称
ALTERDATABASEbtmsssh0628
MODIFYFILE(NAME='btms',NEWNAME='btmsssh0628')
ALTERDATABASEbtmsssh0628
MODIFYFILE(NAME='btms_log',NEWNAME='btmsssh0628_log')
--3.分离
execs_detach_db@dbname=N'btmsssh0628'--4.页面修改文件名称后--附加
execs_attach_db@dbname=N'btmsssh0628',
@filename1=N'C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAbtmsssh0628.mdf',
@filename2=N'C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAbtmsssh0628_log.ldf'
s:分离后页面修改文件名称后再附加方法二(这个方法有待调优):以下方法只是修改了数据库名以及文件名,逻辑名称还是不变的,修改参照方法一
背景:直接拷贝了数据库文件,想要附加为新库
数据库—右键—附件–添加数据库文件,然后做以下修改:
附加为:新数据库名称(BOOK2)
修改文件名称为BOOK2(原为book)
当前文件路径修改为刚才修改的文件的对应路径未完待续。。。。