返回顶部
分享到

SQL Server修改数据库名称的常用方法

MsSql 来源:互联网 作者:佚名 发布时间:2025-10-16 21:25:48 人浏览
摘要

一、 准备工作 改名时如果有其他用户会话连接该数据库会报错,必须先杀掉那些用户会话或使数据库处于单用户模式下再执行。 查询当前有哪些会话连接到这个数据库 1 SELECT SPID FROM master.d

一、 准备工作

改名时如果有其他用户会话连接该数据库会报错,必须先杀掉那些用户会话或使数据库处于单用户模式下再执行。

查询当前有哪些会话连接到这个数据库

1

SELECT SPID FROM master.dbo.sysprocesses WHERE dbid=DB_ID('Test1');

如果有,执行KILL命令杀掉

1

KILL SPID

也可以将数据库设置为单用户模式。在数据库属性 -> “连接”页面 找到“限制访问”选项,选择SIGLE_USER。

clip_image002[4]

命令行

1

2

3

4

5

6

use master

-- 设置单用户

exec sp_dboption  @dbname='OldDbName', @optname= 'Single User',@optvalue= 'TRUE'

-- 恢复多用户

exec sp_dboption  @dbname='NewDbName', @optname= 'Single User', @optvalue='FALSE'

GO

二、 修改数据库名称

1. 图形界面修改

clip_image002

2. ALTER DATABASE

1

2

3

4

USE master;

GO

ALTER DATABASE Test1 MODIFY NAME = Test;

GO

或者设置为单用户模式再改

1

2

3

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

1

2

3

4

use master

go

exec sp_renamedb @dbname='Test_1', @newname='Test';

go

直接利用脚本修改

1

2

3

4

5

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

检查修改成功

1

SELECT name, database_id FROM sys.databases WHERE name = N'DbName';


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计