修改数据库名称
原数据库库名 => 目标数据库库名
修改逻辑名称
原数据库库名=> 目标数据库库名
原数据库库名_log => 目标数据库库名_log
修改物理文件名
原数据库库名.mdf => 目标数据库库名.mdf
原数据库库名_log.mdf => 目标数据库库名_log.mdf
具体脚本如下:
–改数据库名
EXEC sys.sp_renamedb @dbname = ‘原数据库库名’, @newname = ‘目标数据库库名’
– 查看当前数据库逻辑名称
select name from sys.database_files;
– 修改数据库逻辑名称
ALTER DATABASE 目标数据库库名 MODIFY FILE(NAME=‘原数据库库名’,NEWNAME=‘目标数据库库名’)
ALTER DATABASE 目标数据库库名 MODIFY FILE(NAME=‘原数据库库名_log’,NEWNAME=‘目标数据库库名_log’)
–查询进程号【分离数据时提示无法操作】
SELECT spid from MASTER…sysprocesses WHERE dbid = db_id(‘目标数据库库名’)
–删除进程号
KILL 99
–分离数据库
EXEC sp_detach_db 目标数据库库名
–修改文件名称,也可直接手动修改
EXEC master.dbo.xp_cmdshell ‘ren E:\sql原数据库库名DB\原数据库库名.mdf 目标数据库库名.mdf’
EXEC master.dbo.xp_cmdshell ‘ren E:\sql原数据库库名DB\原数据库库名.mdf 目标数据库库名_log.mdf’
---- --重新附加
EXEC sp_attach_db @dbname = N’目标数据库库名’,
@filename1 = N’E:\sql原数据库库名DB\目标数据库库名.mdf’,
@filename2 = N’E:\sql原数据库库名DB\目标数据库库名_log.ldf’