SqlServer: 单用户模式下查杀相关进程实现单/多用户转换

本文主要是介绍SqlServer: 单用户模式下查杀相关进程实现单/多用户转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    SQLServer下,单/多用户模式转换的三种方法:

  1.直接在Management Studio中设置相关数据库的Properties:Options-->Restrict Access下设置MULTI/SINGLE_USER。

 

   2.若是其他人设置Server为单用户模式,或者其他未知进程占用操作DB,再使用第一种方法发现该DB的Properties是打不开的,这时应该使用如下T-SQL进行操作:

-----------------------Conversion Between Single Modle and  Multiple Modle,the first method:
EXEC   sp_dboption   @dbname   =   'DB Name',   @optname   =   'single   user ',   @optvalue   =   false 
EXEC   sp_dboption   @dbname   =   'DB Name ',   @optname   =   'single   user ',   @optvalue   =   true 


  3.也可以直接更改DB模式:

-----------------------Conversion Between Single Modle and  Multiple Modle,the second method:
ALTER DATABASE DealManager SET MULTI_USER
AlTER DATABASE DEALMANAGER SET SINGLE_USER


  倘若在单用户模式下恢复多用户模式或者操作DB发现操作总是失败,这是因为有其他进程占用该DB的缘故,有人会直接手动查看监视器中的进程,把与目的库有关的KILL掉,这种方法是很粗糙的,效率低而且有操作错误进程的危险。其实,实时操作DB的进程在master中是有记录的,我们只需要一个select语句就知道该进程,  然后Kill相关进程:

----------------------Kill the process in Single Modle
select * from master..sysprocesses
where dbid=db_id('DB Name')
--Kill spid

也写了个小脚本执行这个操作:

DECLARE @kid varchar(100)
SET @kid=''
SELECT @kid=@kid+'KILL'+CAST(spid as Varchar(10))
FROM master..sysprocesses
WHERE dbid=DB_ID('DB Name')
PRINT @kid
EXEC(@kid)

这篇关于SqlServer: 单用户模式下查杀相关进程实现单/多用户转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631189

相关文章

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并