我的工作在SQL SERVER 2008和2008 R2。 如何重命名在多用户模式的数据库? 我使用sp_rename但它返回此错误:
消息15225,级别11,状态1,过程sp_rename可以,338线
我的工作在SQL SERVER 2008和2008 R2。 如何重命名在多用户模式的数据库? 我使用sp_rename但它返回此错误:
消息15225,级别11,状态1,过程sp_rename可以,338线
而它在使用时无法重命名数据库。 要么等待维护窗口,或强制数据库为单用户模式(这会踢大家了):
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;
你不能使用sp_rename重命名数据库 - 有问题的SP将被sp_renamedb对。 然而,这是符合在SQL Server的未来版本被移除,并且优选的方法是:
ALTER DATABASE dbname MODIFY NAME = newdbname;
但是你不能没有对数据库的排它锁做到这一点呢。
您可以打开SQL Server配置管理器和停止和启动服务,这对我的作品与SQL Server 2008和2012年就好了。
然后重命名在SQL Server Management Studio中的数据库权。
“对我的作品”
不是一个真正的“警告”,但说要恢复完全相同的数据库,你进入选择和改变MDF和LDF的名字