如何重命名多用户模式下的数据库(How to rename database in multi-us

2019-07-29 21:15发布

我的工作在SQL SERVER 2008和2008 R2。 如何重命名在多用户模式的数据库? 我使用sp_rename但它返回此错误:

消息15225,级别11,状态1,过程sp_rename可以,338线

Answer 1:

而它在使用时无法重命名数据库。 要么等待维护窗口,或强制数据库为单用户模式(这会踢大家了):

USE [master];
GO
ALTER DATABASE foo SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
--EXEC sys.sp_renamedb @dbname = N'foo', @newname = N'bar';
ALTER DATABASE foo MODIFY NAME = bar; -- preferred way
GO
ALTER DATABASE bar SET MULTI_USER;


Answer 2:

你不能使用sp_rename重命名数据库 - 有问题的SP将被sp_renamedb对。 然而,这是符合在SQL Server的未来版本被移除,并且优选的方法是:

ALTER DATABASE dbname MODIFY NAME = newdbname;

但是你不能没有对数据库的排它锁做到这一点呢。



Answer 3:

您可以打开SQL Server配置管理器和停止和启动服务,这对我的作品与SQL Server 2008和2012年就好了。

然后重命名在SQL Server Management Studio中的数据库权。

“对我的作品”

不是一个真正的“警告”,但说要恢复完全相同的数据库,你进入选择和改变MDF和LDF的名字



文章来源: How to rename database in multi-user mode