码迷,mamicode.com
首页 > 数据库 > 详细

无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)

时间:2018-11-29 15:34:01      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:line   ima   模式切换   with   通过   失败   alt   mod   img   

今天公司SQL Server数据库无意间变为SINGLE_USER模式了,而且使用如下语句切换回MULTI_USER失败:

ALTER DATABASE [MyDB] SET MULTI_USER  WITH ROLLBACK IMMEDIATE 

报错:

Msg 5064, Level 16, State 1, Line 1
Changes to the state or options of database ‘MyDB‘ 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.

该错误提示是有其它用户在使用数据库,没办法只好排查是谁:

 

1)通过sys.sysprocesses或者sys.dm_exec_sessions,或者存储过程sp_who,然后用KILL命令把会话切断

select * from sys.sysprocesses 
where spid > 50
And dbid=DB_ID (MyDB)

 

SELECT * FROM sys.dm_exec_sessions
WHERE database_id = DB_ID (MyDB)

 

2)如果上面还是行不通,再检查sys.dm_tran_locks,然后用KILL命令把会话切断

select * from sys.dm_tran_locks where resource_database_id= DB_ID (MyDB)

 

 

技术分享图片

kill 148

 

无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)

标签:line   ima   模式切换   with   通过   失败   alt   mod   img   

原文地址:https://www.cnblogs.com/OpenCoder/p/10037560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!