SQL Server 数据库重命名

通过将 SQL Server 数据库置于单用户模式,对其重命名

使用下列步骤在 SSMS 中使用 T-SQL 重命名 SQL Server 数据库。

1.为实例连接到 master 数据库。

2.打开一个查询窗口。

3.将以下示例复制并粘贴到查询窗口中,然后选择"执行"。 此示例将 MyTestDatabase 数据库的名称更改为 MyTestDatabaseCopy

复制代码
--连接到 master 数据库
USE master;
GO
--将数据库置于单用户模式
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
--重命名数据库
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO
--将数据库重新置于多用户模式
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO

示例:

复制代码
USE master;
GO
ALTER DATABASE study1 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE study1 MODIFY NAME = study2;
GO
ALTER DATABASE study2 SET MULTI_USER;
GO

警告:

为了快速获取独占访问权限,代码示例使用终止选项 WITH ROLLBACK IMMEDIATE。 这将导致所有未完成的事务被回滚,并将立刻断开 MyTestDatabase 数据库的所有其他连接。

补:如果数据库是默认数据库,可通过如下方式在重命名后重置默认数据库

如果要重命名的数据库被设置为 SQL Server 登录名的默认数据库,则可能会遇到错误 4064 Can't open user default database

可使用以下命令将默认设置更改为已重命名的数据库:

复制代码
USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO

参考:

https://learn.microsoft.com/zh-cn/SQL/relational-databases/databases/rename-a-database?view=sql-server-ver16#reset-your-default-database-after-rename

相关推荐
爬山算法2 小时前
Redis(158)Redis的主从同步问题如何解决?
数据库·redis·缓存
宇钶宇夕5 小时前
三旺 INP314T 网关快速入门指南:从登录到基础配置
运维·自动化·软件工程
2501_941148155 小时前
多语言微服务架构与边缘计算技术实践:Python、Java、C++、Go深度解析
数据库
2***s6726 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
w***z506 小时前
MYSQL 创建索引
数据库·mysql
YongCheng_Liang6 小时前
Zabbix 6.4 完整部署教程:从环境准备到监控实战
linux·运维·zabbix
章鱼哥7307 小时前
[特殊字符] SpringBoot 自定义系统健康检测:数据库、Redis、表统计、更新时长、系统性能全链路监控
java·数据库·redis
数字化顾问7 小时前
(65页PPT)大型集团物料主数据管理系统建设规划方案(附下载方式)
大数据·运维·人工智能
翼龙云_cloud7 小时前
阿里云渠道商:新手怎么操作阿里云无影云电脑?
运维·服务器·阿里云·云计算·电脑
5***E6857 小时前
MySQL:drop、delete与truncate区别
数据库·mysql