我有一个名为" ip_ent_site"的数据库。我想把它重命名为" ip_ent_site1"例如。
我已经完成了右键单击并重命名,它一直处于失败状态。 这是错误消息:
任何人都可以提供帮助吗?
答案 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:
答案 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