zoukankan      html  css  js  c++  java
  • 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相关进程:

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

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

    1. DECLARE @kid varchar(100)  
    2. SET @kid=''  
    3. SELECT @kid=@kid+'KILL'+CAST(spid as Varchar(10))  
    4. FROM master..sysprocesses  
    5. WHERE dbid=DB_ID('DB Name')  
    6. PRINT @kid  
    7. EXEC(@kid)  
  • 相关阅读:
    soapUI学习笔记--用例字段参数化
    python 写数据到txt 文件
    Python生成8位随机字符串的一些方法
    python datetime获取几分钟、小时、天之前的时间
    MQTT 测试工具介绍
    运用MQTT-JMeter插件测试MQTT服务器性能
    mqtt-jmeter
    ActiveMQ测试工具
    MQTT压力测试工具之JMeter插件教程
    volatile非原子性的示例
  • 原文地址:https://www.cnblogs.com/songsz1/p/2660064.html
Copyright © 2011-2022 走看看