首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server2008 R2卡在单用户模式下

SQL Server2008 R2卡在单用户模式下
EN

Stack Overflow用户
提问于 2014-07-07 18:41:31
回答 5查看 72K关注 0票数 47

在本地数据库上执行DB deploy (来自VS SQL Server数据库项目)失败后,数据库一直处于开启单用户模式( deploy as single user mode)的状态。

当我从SSMS连接到它并尝试执行以下操作时:

代码语言:javascript
复制
ALTER DATABASE MyDatabase
SET MULTI_USER;
GO

我得到了错误:

此时无法对数据库'MyDatabase‘的状态或选项进行

更改。数据库处于单用户模式,并且当前有用户连接到该数据库。

我尝试使数据库离线,SSMS告诉我成功了,但它似乎没有实际执行任何操作。到目前为止,我只能通过删除并重新创建数据库来解决这个问题(这还可以,因为它只是一个本地测试数据库)。但是,我希望能够重置状态。

如何说服SQL Server使此数据库脱离单用户模式?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-07 18:55:52

在主数据库中第一次运行以下查询

代码语言:javascript
复制
exec sp_who

如果你找不到罪魁祸首,试试

代码语言:javascript
复制
SELECT request_session_id FROM sys.dm_tran_locks 
WHERE resource_database_id = DB_ID('YourDatabase')

然后用以下查询杀死所有使用您数据库的进程:

代码语言:javascript
复制
KILL spid

然后运行以下查询:

代码语言:javascript
复制
USE Master
ALTER DATABASE YourDatabase SET MULTI_USER
票数 155
EN

Stack Overflow用户

发布于 2017-11-07 21:32:16

尝试下面的命令

首先运行以下三个命令

代码语言:javascript
复制
USE [master] 
SET DEADLOCK_PRIORITY HIGH
exec sp_dboption MyDBName, 'single user', 'FALSE';

第二次运行这两个命令

代码语言:javascript
复制
ALTER DATABASE MyDBName SET MULTI_USER WITH NO_WAIT
ALTER DATABASE MyDBName SET MULTI_USER WITH ROLLBACK IMMEDIATE
票数 3
EN

Stack Overflow用户

发布于 2014-07-07 18:47:21

这是here的回答,代码是:

代码语言:javascript
复制
use master
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE 

--do you stuff here 

ALTER DATABASE YourDatabase SET MULTI_USER
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24608702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档