在 sql server management studio 2014 中重命名数据库名称
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/30660204/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
rename database name in sql server management studio 2014
提问by
I have a database called "ip_ent_site". And I wanna rename it to "ip_ent_site1" for example.
我有一个名为“ip_ent_site”的数据库。例如,我想将其重命名为“ip_ent_site1”。
I have done right click and rename, it is keeping on failed. This is the error message:
我已经完成了右键单击并重命名,它一直失败。这是错误消息:
Anyone can help?
任何人都可以帮忙吗?
回答by Raj
That is because there are open transactions. If those transactions can be killed, then this can easily be done with this SQL
那是因为有未结交易。如果可以终止这些事务,那么可以使用此 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
回答by sqluser
Before renaming, set the database to single user mode MSDN
重命名前,将数据库设置为单用户模式MSDN
USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
Then rename it
然后重命名
USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO
And then put it back to multi user mode
然后把它放回多用户模式
ALTER DATABASE ip_ent_site1
SET MULTI_USER;
回答by Ranbeer M
The reason is because the database has to prevent any other connection/transaction to the db while you are renaming it.
原因是因为在重命名数据库时,数据库必须阻止与数据库的任何其他连接/事务。
A simple script to get a lock on the 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
回答by Danny Mahoney
To enable the ability to
为了能够
right click and rename
右键单击并重命名
the DB:
数据库:
- Close all query windows
- Right click & rename DB
- 关闭所有查询窗口
- 右键单击并重命名数据库
回答by Developer_29
Execute below query
执行以下查询
USE master;
GO
sp_renamedb @dbname = 'old_name' , @newname = 'new_name'
使用大师;
去
sp_renamedb @dbname = 'old_name' ,@newname = 'new_name'
回答by Sachin Pakale
This the simplest way to rename Database name. Just make sure you have closed all the query windows before running this command.
这是重命名数据库名称的最简单方法。在运行此命令之前,请确保您已关闭所有查询窗口。
EXEC sp_renamedb 'old_Name', 'new_Name'
EXEC sp_renamedb 'old_Name', 'new_Name'
回答by Igor Borisenko
回答by Khan
Shouldn't we also change 'Logical File Name' as well?
我们不应该也更改“逻辑文件名”吗?
ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold ', NEWNAME=N'testdb')
GO
ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold', NEWNAME=N'testdb_log')
GO
ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold ', NEWNAME=N'testdb')
GO
ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold', NEWNAME=N'testdb_log')
GO
回答by Pani
Please try this,it will work.
请试试这个,它会起作用。
ALTER DATABASE GWPRD_CMCC --old db name
ALTER DATABASE GWPRD_CMCC --旧数据库名称
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO ALTER DATABASE GWPRD_CMCC --old db name
GO ALTER DATABASE GWPRD_CMCC --旧数据库名称
MODIFY NAME = GWPRD_CMCC_1 --new db name
GO ALTER DATABASE GWPRD_CMCC_1 --new db name SET MULTI_USER GO
GO ALTER DATABASE GWPRD_CMCC_1 --new db name SET MULTI_USER GO
回答by Md Ashikul Islam
Rename SQLDatabase name Using Query
使用查询重命名 SQLDatabase 名称
use [master] go
使用 [master] 去
Alter Database Old_database_name Modify name = New_database_name
更改数据库 Old_database_name 修改名称 = New_database_name
or
或者
sp_renameDB 'old_dbname' , 'new_dbname'
sp_renameDB 'old_dbname' 'new_dbname'