公司自有的云服务器上的SQL server数据库里,建立了不少项目的数据库,最近需要把一个项目的最新版本代码同步到服务器上,发现本地使用的数据库名,在云服务器上已经存在了,且被用于开发其他项目的demo,为了保证项目和数据库同名,不得不把服务器上的数据库名修改,然而当我把本地的数据库还原到服务器上时,发现物理文件名和日志名重复,无法还原。才发现,单单修改一个数据库名,在这种情况下是不行的,相当于给数据库取了一个别名,底层还是指向原来的名字。还需要修改逻辑文件名和物理文件名。使用的比较少,记录下来方便下次使用。
数据库名、逻辑文件名、物理文件名的区别
数据库名:
chengdu即为数据库名
逻辑文件名:
逻辑文件名
物理文件名:
物理文件名
这三个的名字可以不一样,但是名字一样的话可以避免一些不必要的麻烦,就比如我这次还原数据库失败。
禁止在生产环境中修改正在使用的数据库的名字
修改数据库名
这个就和简单了,打开管理工具,直接右击需要修改的数据库名,选择重命名,填入修改后的名字即可。
修改逻辑文件名
鼠标右击数据库名,打开属性面板,选择文件,然后在右侧找到逻辑文件名,直接修改即可。
修改物理文件名
1、打开数据库的属性界面,如图所示,找到数据库文件存放的路径,后续需要到该路径下修改文件名
2、数据库分离:右击数据库,选择任务-->分离,分离数据库
3、断掉链接,将正在使用的链接删除
4、按照步骤1找到的路径,打开文件夹,修改数据库对应的文件名称
5、物理文件重新命名后,再次附加数据库
a] 右击数据库,选择附加,弹出附加数据库界面,点击添加。
b] 弹出定位数据库文件,这时候你可能会发现,找不到对应的数据库物理文件了,这是因为后缀名变成了 .ndf ,需要回到文件夹中,把后缀名修改为.mdf 才行。
c] 添加好物理文件后,还需对文件路径重新指定,如下:
两个都需要重新指定
最后点击确认按钮,就完成了物理文件名的修改。