Vik*_*ose 152 sql sql-server sql-server-2008-r2
我正在使用此查询重命名数据库:
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
Run Code Online (Sandbox Code Playgroud)
但它在排除时显示错误:
消息5030,级别16,状态2,行1
无法独占锁定数据库以执行操作.
我的查询有什么问题吗?
小智 306
您可以尝试将数据库设置为单用户模式.
use master
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER
Run Code Online (Sandbox Code Playgroud)
Sam*_*hdi 53
将数据库设置为单一模式:
ALTER DATABASE dbName
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)尝试重命名数据库:
ALTER DATABASE dbName MODIFY NAME = NewName
Run Code Online (Sandbox Code Playgroud)将数据库设置为多用户模式:
ALTER DATABASE NewName
SET MULTI_USER WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)小智 23
您还可以在对象资源管理器中右键单击数据库,然后转到"属性".从那里转到选项.完全向下滚动并将Restrict Access设置为SINGLE_USER.更改您的数据库名称,然后返回并将其设置回MULTI_USER.
And*_*eev 19
尝试首先关闭与数据库的所有连接:
use master
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
ALTER DATABASE BOSEVIKRAM_Deleted SET MULTI_USER
Run Code Online (Sandbox Code Playgroud)
取自这里
那是因为其他人正在访问数据库。将数据库置于单用户模式然后重命名。
此链接可能有帮助:
http://msdn.microsoft.com/en-IN/library/ms345378 (v=sql.105).aspx
还有:
http ://msdn.microsoft.com/en-us/library/ms345378.aspx
这为我做到了:
USE [master];
GO
ALTER DATABASE [OldDataBaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
EXEC sp_renamedb N'OldDataBaseName', N'NewDataBaseName';
-- Add users again
ALTER DATABASE [NewDataBaseName] SET MULTI_USER
GO
Run Code Online (Sandbox Code Playgroud)
小智 5
1.数据库设置1st单用户模式
更改数据库BOSEVIKRAM设置 SINGLE_USER 并立即回滚
2.重命名数据库
更改数据库BOSEVIKRAM修改名称 = [BOSEVIKRAM_Deleted]
3.数据库设置多用户模式
更改数据库BOSEVIKRAM_Deleted设置 MULTI_USER 立即回滚
归档时间: |
|
查看次数: |
118127 次 |
最近记录: |