2011-07-05 51 views
8

我有一个2008年的SQL数据库是离线,我想联机并设置为多用户。使用SQL Server Management Studio中 - 新的查询窗口 - 当我执行以下命令:更改为数据库'在线',并将数据库设置为'多用户'

ALTER DATABASE mydb SET ONLINE; 

    ALTER DATABASE mydb SET MULTI_USER; 

我收到此错误信息:

消息5064,级别16,状态1,行 更改到状态或选项 数据库'mydb'不能在此 时间发出。数据库处于单用户模式 模式,并且用户当前连接到 。
Msg 5069,Level 16, State 1,Line 1 ALTER DATABASE statement failed。消息5064,级别16, 状态1,行3更改为状态 或数据库'mydb'的选项不能 在此时进行。数据库为单用户模式下的 ,当前连接的用户为 。消息5069, 级别16状态1行3 ALTER DATABASE语句失败。

我该如何获取数据库联机和多用户模式?

回答

6

确保您不在该数据库中。关闭连接到它的任何查询窗口,关闭对象资源管理器详细信息,密切SSMS并重新打开它没有连接到该服务器对象资源管理器等运行此:

USE [master]; 
GO 

ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO 

这应该让你把它在线,那么你可以运行你列出的命令。

+2

USE [master]; GO ALTER DATABASE mydb SET MULTI_USER WITH ROLLBACK IMMEDIATE; GO – FiveTools

+1

问题是可能有一个用户打开一个正在阻止状态更改的事务。我从未尝试将它直接设置为multi_user,而没有先启动该用户。在任何情况下,代码之前的建议之一可能都是必需的。 –

0

那么,我停止了管理员工具>服务中的特定数据库服务。然后,右键单击数据库服务器以获取选项,然后将staus更改为多用户模式。

相关问题