我想重命名一个数据库,但不断得到“无法获得数据库上的排他锁”的错误,这意味着仍有一些连接处于活动状态。
如何杀死数据库的所有连接以便重命名它?
我想重命名一个数据库,但不断得到“无法获得数据库上的排他锁”的错误,这意味着仍有一些连接处于活动状态。
如何杀死数据库的所有连接以便重命名它?
当前回答
试试这个:
ALTER DATABASE [DATABASE_NAME]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
其他回答
我总是用:
ALTER DATABASE DB_NAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
SP_RENAMEDB 'DB_NAME','DB_NAME_NEW'
Go
ALTER DATABASE DB_NAME_NEW SET MULTI_USER -- set back to multi user
GO
在对象资源管理器上的MS SQL Server Management Studio中,右键单击数据库。在下面的上下文菜单中选择“任务->脱机”
当我试图恢复数据库时,我通常会遇到这种错误,我通常只需要在Management Studio中找到树的顶部,右键单击并重新启动数据库服务器(因为它在开发机器上,这在生产环境中可能不理想)。这将关闭所有数据库连接。
ALTER DATABASE [Test]
SET OFFLINE WITH ROLLBACK IMMEDIATE
ALTER DATABASE [Test]
SET ONLINE
您可以使用SP_Who命令杀死所有使用您的数据库的进程,然后重命名您的数据库。