首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除当前正在使用的和单用户模式下的Server数据库

如何删除当前正在使用的和单用户模式下的Server数据库
EN

Database Administration用户
提问于 2013-09-06 09:17:32
回答 4查看 46.7K关注 0票数 9

我有一个关于Server 2008的数据库,我想删除它。目前它处于单用户模式,目前正在使用中。

代码语言:javascript
复制
select * from sys.sysprocesses

返回

代码语言:javascript
复制
Msg 924, Level 14, State 1, Line 1
Database 'G_MAIN_DE' is already open and can only have one user at a time.

我不知道该怎么找出我要杀的那个人。

尝试将其设置为脱机

代码语言:javascript
复制
ALTER DATABASE G_MAIN_DE SET OFFLINE WITH ROLLBACK IMMEDIATE

产量

代码语言:javascript
复制
Msg 5064, Level 16, State 1, Line 1
Changes to the state or options of database 'G_MAIN_DE' cannot be made at this time. The database is in single-user mode, and a user is currently connected to it.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
EN

回答 4

Database Administration用户

回答已采纳

发布于 2013-09-06 09:32:32

若要标识当前使用数据库的会话,可以尝试

代码语言:javascript
复制
SELECT request_session_id
FROM   sys.dm_tran_locks
WHERE  resource_database_id = DB_ID('G_MAIN_DE') 
票数 16
EN

Database Administration用户

发布于 2013-09-08 08:36:11

此内置存储过程显示到数据库的所有连接。

代码语言:javascript
复制
exec sp_who2

此查询将终止对数据库的连接,例如连接SPID #53。

代码语言:javascript
复制
exec kill 53
票数 10
EN

Database Administration用户

发布于 2013-09-06 18:35:25

最简单的方法就是使用SSMS活动监视器(右击服务器/活动监视器/进程)。按数据库排序。杀死任何进程控制DB。您还可能希望在将DB设置为单用户并执行删除操作之前发出杀死命令。

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

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

复制
相关文章

相似问题

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