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

今天公司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

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

时间: 2024-10-09 02:08:37

无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)的相关文章

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

报错信息如下: Msg 5064, Level 16, State 1, Line 1Changes to the state or options of database 'test' 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 1ALTER DATABASE

设置数据库为SINGLE_USER模式,减少锁定时间

1 --SQL Server开启READ_COMMITTED_SNAPSHOT 2 3 4 5 ----设置数据库为SINGLE_USER模式,减少锁定时间 6 7 ALTER DATABASE ENDV_SOA SET SINGLE_USER WITH ROLLBACK IMMEDIATE 8 9 ALTER DATABASE ENDV_SOA SET ALLOW_SNAPSHOT_ISOLATION ON 10 11 ALTER DATABASE ENDV_SOA SET READ_COMM

好记性不如烂笔头25-JAVA处理数据库事务(3) - 事务回滚点

在具体的工作中,有的事情需要被保持,不需要回滚,有的工作需要回滚,而这些逻辑,可以通过手动设置事务的回滚点. 1.用JAVA处理数据库事务的事务回滚点的准备 要有一个能够访问数据库的应用.下面的示例都基于ORACLE进行. create table ffm_account( id int primary key , name varchar(32), money int ); 测试数据: insert into ffm_account(id,name,money)values(1,'A',100

SQLSERVER 切换数据库为单用户和多用户模式

有时候数据库在占用时,想做一些操作,无法操作.可以尝试将数据库切换为单用户模式来操作.操作完之后再切换回多用户模式. 命令如下: alter database 数据库名 set Single_user  --单用户alter database 数据库名 set multi_user   --多用户 或者 sp_dboption 数据库名,"single user",true  --单用户 sp_dboption 数据库名,"single user",false  -

数据库设计中的Soft Delete模式

最近几天有点忙,所以我们今天来一篇短的,简单地介绍一下数据库设计中的一种模式——Soft Delete. 可以说,该模式毁誉参半,甚至有非常多的人认为该模式是一个Anti-Pattern.因此在本篇文章中,我们不仅仅会对该模式进行介绍,同时也会列出该模式可能导致的一系列问题,以帮助大家正确地决定是否使用该模式. Soft Delete简介 首先先来想一个需求,那就是对用户操作的回滚支持.例如我现在正在用Word编写这篇文章.当我执行了一个错误操作的时候,我仅仅需要键入Ctrl + Z就可以进行回

oracle数据库的停止(四种模式)

数据库的停止(四种模式)1.正常停库:shutdown normal = shutdown普通用户的连接不允许建立等待查询结束等待事务结束产生检查点(数据同步)关闭联机日志和数据文件关闭控制文件关闭实例 2.事务级停库: shutdown transactional普通用户的连接不允许建立查询被终止等待事务结束产生检查点(数据同步)关闭联机日志和数据文件关闭控制文件关闭实例 3.立即停库: shutdown immediate (生产库最常用的停库方式)普通用户的连接不允许建立查询被终止事务被回

SSIS CDC(Change Data Capture)组件在数据库中启用报错。 The error returned was 14234: 'The specified '@server' is invalid

昨天实验CDC,在数据库中执行以下语句的时候出错. EXEC sys.sp_cdc_enable_table @source_schema = N'stg', @source_name = N'CDCSalesOrderHeader', @role_name = N'cdc_role', @supports_net_changes = 1; Msg 22832, Level 16, State 1, Procedure sp_cdc_enable_table_internal, Line 623

ntko的office控件,ssm框架下上传文件到数据库和页面的回显

在这里用到了对文件流进行的操作,废话不多说,先贴代码出来 首先是文件上传到数据库,这里用到了SqlServer数据库,数据库对应数据类型是image,而JAVA实体则对应的是Byte[](比特数组). 首先跟正常上传文件一样,页面上写一个form表单 <form method="post" enctype="multipart/form-data" name="frmWordDoc"> <input type="fil

记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障

搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis. 连接mysql数据库完成项目的过程中发现不支持事务,因为用的新框架自己本身也不是很了解,刚开始一直以为是自己的框架搭建的有问题, 后来发现是mysql数据库引擎的问题 解决方案 MyISAM不支持事物,InnoDB支持事物 先检查你的mysql版本 ,mysql 4.0系列之前是不支持事务的.    SELECT VERSION(); 检查你的数据库支持