Veritabanındaki Tüm İşlemleri Kill Etmek İçin Cursor

Veritabanındaki Tüm İşlemleri Kill Etmek İçin Cursor nedir, nasıl kullanılır? Etkili yöntemler ve kod örnekleri burada.

Temmuz 18, 2023

Veritabanındaki Tüm İşlemleri Kill Etmek İçin Cursor

Komut dosyasını çalıştırdığınızda, lütfen onu tüm işlemlerin öldürülmesini istediğiniz veritabanından farklı bir veritabanında çalıştırdığınızdan emin olun.

 

CREATE TABLE #TmpWho
(spid INT, ecid INT, status VARCHAR(150), loginame VARCHAR(150),
hostname VARCHAR(150), blk INT, dbname VARCHAR(150), cmd VARCHAR(150))
INSERT INTO #TmpWho
EXEC sp_who
DECLARE @spid INT
DECLARE @tString VARCHAR(15)
DECLARE @getspid CURSOR
SET @getspid =   CURSOR FOR
SELECT spid
FROM #TmpWho
WHERE dbname = 'mydb'OPEN @getspid
FETCH NEXT FROM @getspid INTO @spid
WHILE @@FETCH_STATUS = 0
BEGIN
SET @tString = 'KILL ' + CAST(@spid AS VARCHAR(5))
EXEC(@tString)
FETCH NEXT FROM @getspid INTO @spid
END
CLOSE @getspid
DEALLOCATE @getspid
DROP TABLE #TmpWho
GO