zoukankan      html  css  js  c++  java
  • How To Kill All SPID In Database or Multiple Databases In Sql Server

    1. How To Kill SPID For Specific Database

    /*******************************************/
    DECLARE @kill varchar(8000)

    Set @kill  = ''
    SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
    FROM master..sysprocesses 
    WHERE dbid = db_id('database_name') and spid > 50 and spid <> @@spid
    EXEC(@kill);
    /*******************************************/

    2. Procedure To Kill All SPID For Specific Database

    /*******************************************/
    Create procedure KILL_SPID (@db varchar(8000) )
    as 

    ----Created By: Saurabh Sinha

    ----Date: 26/Nov/2014

    ----Description: This sp can take 1 database as parameter and kill all spids on db

    ----SYNTAX: KILL_SPID ('db1')

    Begin
    DECLARE @kill varchar(8000) = ''

    SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
    FROM master..sysprocesses 
    WHERE dbid = db_id(rtrim(ltrim(@db))) and spid > 50 and spid <> @@spid
    Select @kill
    EXEC(@kill);
    Select 'All spid mention above are killed'
    END

    /*******************************************/

    3. Procedure To Kill All SPID For Multiple Database

    /**************************************/

    Create procedure KILL_SPID_ON_MULTIPLE_DB (@db varchar (max))

    as 

    ----Created By: Saurabh Sinha

    ----Date: 26/Nov/2014

    ----Description: This sp can take any no. of databases as parameter seperated with comma and kill all 

    ----spids on MULTIPLE DB

    ----SYNTAX: KILL_SPID_ON_MULTIPLE_DB ('db1,db2,db3 , db4,db5')

    Begin

    --Declare  @db  varchar(8000) 

    Declare @db1 varchar(8000)

    Declare @count int , @count1 int , @len int

    DECLARE @kill varchar(8000) = ''

    select @count = len(@db) - len(replace(@db,',',''))

    while @count > -1

    begin

     Set @db1 = LEFT(@db, CHARINDEX(',',@db+',')-1)

     Set @db = STUFF(@db, 1, CHARINDEX(',',@db+','), '')

     Set @count =  @count-1

     set @db1=  rtrim(ltrim(@db1))

     select @db1

     SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'

     FROM master..sysprocesses 

     WHERE dbid = db_id(@db1) and spid > 50 and spid <> @@spid

     select @kill

     EXEC(@kill);

    End

    END

    /**************************************/

    4. How To Kill All Spid For Multiple Databases

    /**************************************/

    Declare  @db  varchar(8000) ,@db1 varchar(8000)

    Declare @count int , @count1 int , @len int

    DECLARE @kill varchar(8000) = ''

    set @db = 'test1,test2, test3'

    select @count = len(@db) - len(replace(@db,',',''))

    while @count > -1

    begin

    Set @db1 = LEFT(@db, CHARINDEX(',',@db+',')-1)

    Set @db = STUFF(@db, 1, CHARINDEX(',',@db+','), '')

    Set @count =  @count-1

    set @db1=  rtrim(ltrim(@db1))

    select @db1

    SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'

    FROM master..sysprocesses 

    WHERE dbid = db_id(@db1) and spid > 50 and spid <> @@spid

    select @kill

    EXEC(@kill);

    End

    /**************************************/

  • 相关阅读:
    Android 基于Message的进程间通信 Messenger完全解析
    Android获取TextView显示的字符串宽度
    关于移动App的五个提问
    Android 结合实例学会AsyncTask的用法
    提高 Android 代码质量的4个工具
    高效开发Android App的10个建议
    移动5年 Android生态系统的演进
    最受欢迎的游戏引擎集结号:跨平台篇
    Java程序员转Android开发必读经验分享
    8 个最优秀的 Android Studio 插件
  • 原文地址:https://www.cnblogs.com/Javi/p/12803576.html
Copyright © 2011-2022 走看看