通过将 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
参考: