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

相关推荐
Database_Cool_11 分钟前
AI 应用数据底座首选:阿里云 PolarDB 为大模型 RAG 提供一体化支撑
数据库·阿里云
玖玥拾15 分钟前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
Darkwanderor44 分钟前
对Linux的进程控制的研究
linux·运维·c++
IvorySQL1 小时前
PG 日报|社区讨论重构 pg_hba 配置文件格式
数据库·人工智能·postgresql·重构·ivorysql
逝水无殇1 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
罗政3 小时前
PDF 批量合并工具:本地 AI 自动排序、识别正文日期与合同编号
数据库·pdf·php
SelectDB3 小时前
宽表元数据膨胀怎么解?Doris Segment V3 对比 Parquet、Lance
大数据·数据库·数据分析
爱网络爱Linux4 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
曹牧4 小时前
Oracle:快速定位最新数据
数据库·oracle
MindUp4 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维