sql数据库名称与逻辑文件名称修改(sp_renamedb与sp_dboptions存储过程)

发布时间:2019-08-15编辑:脚本学堂
如何修改sql数据库名称与逻辑文件名称,有关sp_dboption、sp_renamedb系统存储过程的用法,可以用修改数据库名称,需要的朋友参考下。

在sql数据库中,可以修改数据库名字、数据库文件的逻辑文件名,在SQL Server企业管理器中操作不是很方便。

可以借助系统存储过程来直接更改数据库名称与逻辑文件名称。

例如,在查询分析器中运行:
 

alter database 原数据库名称
modify name=新数据库名称

1、更改库名,先把数据库改成单用户,修改库名,再取消单用户模式
 

sp_dboption '库名','single user','true'
sp_renamedb 旧库名,新库名
sp_dboption '新库名','single user','false'

sql数据库中,数据库还原时可以更改物理文件名,也可以分离数据库,直接更改 mdf 的文件名再附加,但更改逻辑文件名似乎不那么直观。
2、在查询分析器中运行:
 

select   name   from   数据库名..sysfiles   where  
charindex('MDF',filename)>0     --查看数据文件的逻辑文件名  
select   filename   from   数据库名..sysfiles   where  
charindex('MDF',filename)>0   --查看数据文件的路径

select   name   from   数据库名..sysfiles   where  
charindex('LDF',filename)>0     --查看日志文件的逻辑文件名  
select   filename   from   数据库名..sysfiles   where  
charindex('LDF',filename)>0   --查看日志文件的路径
alter database 数据库名称 modify file(name=原逻辑文件名, newname=新逻辑文件名)
--修改数据库文件的逻辑文件名
 

即可更改逻辑文件名了,由于 sql server 有数据文件和日志文件,所以数据文件和日志文件的逻辑文件名都要更改的话,就得写两个类似于上述的sql语句

sql语句:
 

alter database SLGGGZ_AID modify file(name='BJSL08_AID', newname='SLGGGZ_AID')
alter database SLGGGZ_AID modify file(name='BJSL08_AID_log', newname='SLGGGZ_AID_log')

select   name   from   SLGGGZ_AID..sysfiles   where  
charindex('MDF',filename)>0     --查看数据文件的逻辑文件名  
select   filename   from   SLGGGZ_AID..sysfiles   where  
charindex('MDF',filename)>0   --查看数据文件的路径

select   name   from   SLGGGZ_AID..sysfiles   where  
charindex('LDF',filename)>0     --查看日志文件的逻辑文件名  
select   filename   from   SLGGGZ_AID..sysfiles   where  
charindex('LDF',filename)>0   --查看日志文件的路径