首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何删除无法脱离单一用户模式的数据库?

如何删除无法脱离单一用户模式的数据库?
EN

Database Administration用户
提问于 2014-04-02 22:41:07
回答 2查看 4.9K关注 0票数 1

我有一个单用户模式下的数据库,无法脱离单一用户模式。我已经尝试重新设置服务器,甚至尝试重新设置我的计算机,但是每次尝试对它做任何事情时,SQL server都坚持认为已经在某个地方打开了一些连接。

我真的不明白,在我刚刚重置我的电脑而没有打开到它的连接之后,怎么可能会有一个连接打开它。我使用SSMS,并使用对象资源管理器( object )连接到服务器,之后我尝试使用delete键直接从那里删除数据库(也就是说,我没有打开任何查询选项卡,所以那里肯定没有连接)。

不幸的是,我使用的应用程序不允许我指定一个数据库名,这意味着我必须弄清楚如何摆脱这个愚蠢的数据库,以便恢复另一个数据库。

我一直在谷歌和尝试不同的东西,但似乎没有任何效果.即使是应该在这种情况下起作用的东西。

所以我在这里寻找更多的想法?

编辑:

我最近的尝试是使用SP_WHO查找连接的进程,然后终止它。但每次我杀了它,它就会立刻回到另一个号码下。不明白到底是什么导致了这种行为。

EDIT2:

我只是尝试使用select * from master..sysprocesses where spid = <spid>来查看kpid,如果我理解正确,它与任务管理器的详细信息选项卡中的PID列相关。唯一的问题是值是0,这意味着它是系统空闲进程。不过,也许我是误会了。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2014-04-02 23:05:24

太棒了!我做到了!

当我运行select * from master..sysprocesses where spid = <spid>时,我意识到连接是从sa用户帐户建立的。我仍然不明白世界上在做什么,但我暂时禁用了sa帐户并重新启动了服务器。它无法再次建立连接,于是我删除了数据库。

票数 0
EN

Database Administration用户

发布于 2014-04-03 02:54:13

停止服务器并禁用sa帐户对于删除数据库似乎是过分的。下一次发生这种情况时,以下几点就足够了:

代码语言:javascript
代码运行次数:0
运行
复制
USE [master];
GO

ALTER DATABASE [dbname] SET OFFLINE
    WITH ROLLBACK IMMEDIATE;
GO

DROP DATABASE [dbname];

可以溜进来的连接可能来自任何地方-- server代理、链接服务器、查询窗口中的IntelliSense等等。离线设置数据库比进入单用户模式要直接得多,更不用说在不推荐的兼容性视图中不必要地跟踪某个恶意会话了……

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/62394

复制
相关文章

相似问题

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