SQL Server 2016 附加--修改逻辑文件名

背景:拷贝bak文件还原成新库,发现数据库名称与逻辑文件名不一致,强迫症患者表示想修改为一致,那怎么办呢?
踩坑:用SSMS的视图进行附加的话,会报错:“至少需要一个文件",但脚本就可以解决

方法一:脚本修改

------------------修改逻辑名称后分离附加数据库----------
USE master
GO
--1.修改物理名称(视图重命名会快些)
EXEC sp_renamedb 'btms20200628','btmsssh0628'--前为oldname,后为newname

--2.修改逻辑名称
ALTER DATABASE btmsssh0628
MODIFY FILE(NAME='btms',NEWNAME='btmsssh0628')
ALTER DATABASE btmsssh0628
MODIFY FILE(NAME='btms_log',NEWNAME='btmsssh0628_log')
--3.分离
exec sp_detach_db @dbname=N'btmsssh0628'

--4.页面修改文件名称后--附加
exec sp_attach_db @dbname=N'btmsssh0628',
@filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\btmsssh0628.mdf',
@filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\btmsssh0628_log.ldf'

ps:分离后页面修改文件名称后再附加
在这里插入图片描述

方法二(这个方法有待调优):以下方法只是修改了数据库名以及文件名,逻辑名称还是不变的,修改参照方法一

背景:直接拷贝了数据库文件,想要附加为新库

  1. 数据库—右键—附件–添加数据库文件,然后做以下修改:
    附加为:新数据库名称(BOOK2)

  2. 修改文件名称为BOOK2(原为book)
    当前文件路径修改为刚才修改的文件的对应路径
    SQL Server 2016 附加--修改逻辑文件名_第1张图片
    未完待续。。。。
    SQL Server 2016 附加--修改逻辑文件名_第2张图片

你可能感兴趣的:(SQL,Server)