24 กรกฎาคม 2554

Kill All Process SQL Server 2005/2008

ขั้นตอน

1. รัน Query ข้างล่างนี้

DECLARE @DatabaseName nvarchar(50)
DECLARE @SPId int
DECLARE @SQL nvarchar(100)
 
--SET @DatabaseName = N'DatabaseName'
 SET @DatabaseName = DB_NAME()
 DECLARE my_cursor CURSOR FAST_FORWARD FOR
 SELECT SPId FROM MASTER..SysProcesses
 WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
 
OPEN my_cursor
 
FETCH NEXT FROM my_cursor INTO @SPId
 
WHILE @@FETCH_STATUS = 0
 BEGIN
  SET @SQL = 'KILL ' + CAST(@SPId as nvarchar(10))
  print @SQL
  EXEC sp_executeSQL @SQL
  --KILL @SPId -- Causing Incorrect syntax near '@spid'.
 
 FETCH NEXT FROM my_cursor INTO @SPId
 END
 
CLOSE my_cursor
DEALLOCATE my_cursor 

2. ปิดหน้าต่างของ Query ด้านบนทิ้ง แล้วสามารถใช้งานเช่น Restore database ได้เลย

0 ความคิดเห็น:

แสดงความคิดเห็น