一、 准备工作
改名时如果有其他用户会话连接该数据库会报错,必须先杀掉那些用户会话或使数据库处于单用户模式下再执行。
查询当前有哪些会话连接到这个数据库
select spid from master.dbo.sysprocesses where dbid=db_id('test1');如果有,执行kill命令杀掉
kill spid
也可以将数据库设置为单用户模式。在数据库属性 -> “连接”页面 找到“限制访问”选项,选择sigle_user。
![clip_image002[4]](https://images1.3wcode.com/3wcode/20251016/b_0_202510161203416256.png)
命令行
use master -- 设置单用户 exec sp_dboption @dbname='olddbname', @optname= 'single user',@optvalue= 'true' -- 恢复多用户 exec sp_dboption @dbname='newdbname', @optname= 'single user', @optvalue='false' go
二、 修改数据库名称
1. 图形界面修改

2. alter database
use master; go alter database test1 modify name = test; go
或者设置为单用户模式再改
alter database db名 set single_user with rollback immediate; alter database 旧db名 modify name = 新db名; alter database db名 set multi_user;
3. sp_renamedb系统存储过程
注意:sql server 2008后续版本将删除该功能。
语法: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'
例子: 将数据库test_1的名称修改为test
use master go exec sp_renamedb @dbname='test_1', @newname='test'; go
直接利用脚本修改
use master exec sp_dboption @dbname='olddbname', @optname= 'single user',@optvalue= 'true' exec sp_renamedb @dbname='olddbname', @newname= 'newdbname' exec sp_dboption @dbname='newdbname', @optname= 'single user', @optvalue='false' go
检查修改成功
select name, database_id from sys.databases where name = n'dbname';
到此这篇关于sql server修改数据库名称的常用方法的文章就介绍到这了,更多相关sql server修改数据库名称内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论