更新时间:2023-10-07
使用 SQL Server Management Studio 或 Transact-SQL 重命名SQL Server或Azure SQL 数据库中的用户定义的数据库。 数据库名称可以包含任何符合标识符规则的字符。
无法重命名系统数据库。
在其他用户正在访问数据库时,无法更改数据库名称。使用 SQL Server Management Studio 活动监视器查找与数据库的其他连接并将其关闭。有关详细信息,请参阅打开 SQL Server Management Studio (SSMS) 中的活动监视器。在 SQL Server 中,可将数据库设置为单用户模式,关闭任何打开的连接。
重命名数据库时,不会更改磁盘上数据库文件的物理名称,也不会更改文件的逻辑名称。
使用 SQL Server Management Studio
- 在 SQL Server Management Studio 中选择“对象资源管理器”。按 F8 打开“对象资源管理器”。或者,在顶部菜单上选择“视图”,然后选择“对象资源管理器”
- 在“对象资源管理器” 中,连接到某个 SQL Server 实例,然后展开该实例。
- 请确保该数据库没有打开的连接。 如果使用 SQL Server,则可以将数据库设置为单用户模式,关闭任何打开的连接并防止其他用户在你更改数据库名称时进行连接。
- 在对象资源管理器中,展开“数据库”,右键单击要重命名的数据库,然后选择“重命名” 。
- 输入新的数据库名称,然后选择“确定”
- 如果数据库是默认数据库,请参阅重命名后重置默认数据库。
- 刷新对象资源管理器中的数据库列表。
使用 Transact-SQL
使用以下步骤通过 SQL Server Management Studio 中的 T-SQL 重命名 SQL Server 数据库,具体步骤包括:将数据库置于单用户模式,重命名,然后将数据库恢复多用户模式。
为了快速获取独占访问权限,代码示例使用终止选项 WITH ROLLBACK IMMEDIATE。 这将导致所有未完成事务都将被回滚,并将立刻断开 MyTestDatabase 示例数据库的所有其他连接。
- 为实例连接到 master 数据库。
- 打开一个查询窗口。
- 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例将 MyTestDatabase 数据库的名称更改为 MyTestDatabaseCopy。
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