在sql server management studio 2014中重命名数据库名称

37 sql t-sql sql-server ssms

我有一个名为"ip_ent_site"的数据库.我想把它重命名为"ip_ent_site1".

在此输入图像描述

我已经右键单击并重命名,它仍然是失败的.这是错误消息:

在此输入图像描述

有人可以帮忙吗?

Raj*_*Raj 37

那是因为有开放交易.如果可以杀死这些事务,那么可以使用此SQL轻松完成

ALTER DATABASE ip_ent_site
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
sp_rename 'ip_ent_site', 'new_db_name' ,'DATABASE';
GO
ALTER DATABASE new_db_name
SET MULTI_USER
GO
Run Code Online (Sandbox Code Playgroud)

  • Downvoting是罚款.但谁downvoted,还在乎讲解,让我们所有的人学到新的东西? (4认同)

sql*_*ser 18

在重命名之前,请将数据库设置为单用户模式MSDN

USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)

然后重命名它

USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO
Run Code Online (Sandbox Code Playgroud)

然后将其重新置于多用户模式

ALTER DATABASE ip_ent_site1
SET MULTI_USER;
Run Code Online (Sandbox Code Playgroud)


小智 13

原因是因为数据库在重命名时必须阻止与db的任何其他连接/事务.

一个简单的脚本来锁定数据库:

ALTER DATABASE [ip_ent_site] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

ALTER DATABASE [ip_ent_site] MODIFY NAME = [ip_ent_site_new]
GO

ALTER DATABASE [ip_ent_site_new] SET MULTI_USER;    
GO
Run Code Online (Sandbox Code Playgroud)


Dan*_*ney 5

启用该功能

右键单击并重命名

DB:

  1. 关闭所有查询窗口
  2. 右键单击并重命名DB