Script to kill all connections to a database (More than RESTRICTED_USER ROLLBACK)

后端 未结 14 1515
-上瘾入骨i
-上瘾入骨i 2020-11-28 17:28

I have a development database that re-deploy frequently from a Visual Studio Database project (via a TFS Auto Build).

Sometimes when I run my build I get this error:

14条回答
  •  粉色の甜心
    2020-11-28 17:50

    USE MASTER
    GO
     
    DECLARE @Spid INT
    DECLARE @ExecSQL VARCHAR(255)
     
    DECLARE KillCursor CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY
    FOR
    SELECT  DISTINCT SPID
    FROM    MASTER..SysProcesses
    WHERE   DBID = DB_ID('dbname')
     
    OPEN    KillCursor
     
    -- Grab the first SPID
    FETCH   NEXT
    FROM    KillCursor
    INTO    @Spid
     
    WHILE   @@FETCH_STATUS = 0
        BEGIN
            SET     @ExecSQL = 'KILL ' + CAST(@Spid AS VARCHAR(50))
     
            EXEC    (@ExecSQL)
     
            -- Pull the next SPID
            FETCH   NEXT 
            FROM    KillCursor 
            INTO    @Spid  
        END
     
    CLOSE   KillCursor
     
    DEALLOCATE  KillCursor
    

提交回复
热议问题