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

时间:2015-06-05 06:56:20

标签: sql sql-server tsql ssms

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

enter image description here

我已经完成了右键单击并重命名,它一直处于失败状态。 这是错误消息:

enter image description here

任何人都可以提供帮助吗?

11 个答案:

答案 0 :(得分:36)

那是因为有开放交易。如果可以杀死这些事务,那么可以使用此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

答案 1 :(得分:15)

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

USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;

然后重命名

USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO

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

ALTER DATABASE ip_ent_site1
SET MULTI_USER;

答案 2 :(得分: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

答案 3 :(得分:5)

启用

的功能
  

右键单击并重命名

DB:

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

答案 4 :(得分:1)

这是重命名数据库名称的最简单方法。在运行此命令之前,请确保已关闭所有查询窗口。

EXEC sp_renamedb' old_Name',' new_Name'

答案 5 :(得分:1)

执行以下查询

USE master;
GO
sp_renamedb @dbname =' old_name' ,@ newname =' new_name'

答案 6 :(得分:0)

执行系统过程sp_who2以查找使用数据库的会话,然后使用kill命令关闭应用程序或终止会话。

答案 7 :(得分:0)

使用查询重命名SQLDatabase名称

使用[master] 去

更改数据库Old_database_name修改名称= New_database_name

sp_renameDB'old_dbname','new_dbname'

答案 8 :(得分:0)

我们也应该更改“逻辑文件名”吗?

//Do something with the array now

答案 9 :(得分:0)

请尝试一下,它将起作用。

ALTER DATABASE GWPRD_CMCC-旧数据库名称

SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO ALTER DATABASE GWPRD_CMCC-旧数据库名称

MODIFY NAME = GWPRD_CMCC_1 --new db name

GO ALTER DATABASE GWPRD_CMCC_1-新数据库名称     SET MULTI_USER 开始

答案 10 :(得分:0)

离线数据库

USE [master];
GO
--Disconnect all existing session.
ALTER DATABASE Datatbase_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

--将数据库更改为离线模式。 ALTER DATABASE Datatbase_Name SET OFFLINE 要重命名物理数据库文件,请使用打开 SQL Server Management Studio 文件夹或使用以下脚本

-- 允许更改高级选项。

EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

重命名 MDF FILE 和 Log

ALTER DATABASE [Datatbase_Name] MODIFY FILE (Name='Old_Mdf_file_Name', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\New_Mdf_file_Name.mdf')
ALTER DATABASE [Datatbase_Name] MODIFY FILE (Name='Old_log_file_Name', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\New_log_file_Name.ldf')

EXEC xp_cmdshell 'RENAME "C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\Old_Mdf_file_Name.mdf", "New_Mdf_file_Name.mdf"'
GO

EXEC xp_cmdshell 'RENAME "C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\Old_log_file_Name.ldf", "New_log_file_Name.ldf"'
GO
ONLINE DATABASE

ALTER DATABASE [Datatbase_Name] SET ONLINE
Go
ALTER DATABASE [Datatbase_Name] SET MULTI_USER
Go