Yearly Archive 2023-01-21

Byphunsanit

SQL Server: Kill process ของข้าให้หมด

มีแก้งานที่เขียน query ได้โหดยูเครนมาก (รัสเซียได้พิสูจน์ให้เห็นแล้วว่ากาก) ใช้ cpu สูงมาก ใช้ ram เกือบหมดเม็ค แล้วมีคนใช้งานอยู่พร้อม ๆ กัน T-T เลยหา script มาจัดการดีด connection ที่ใช้อยู่ในเครื่องตัวเองทิ้งยกเว้นที่ใช้อยู่ใน sql server management studio (ssms) และโปรแกรม app ที่กำลังเขียนอยู่ ( download )

/*
kill all process
by SSChasing Mays
https://www.sqlservercentral.com/forums/topic/kill-all-processes-associated-with-a-hostname#post-1770570
*/

DECLARE @SqlCmd VARCHAR(1000)

	,@HostName VARCHAR(100)-- Set the hostname name from which to kill the connections

	--SET @HostName = 'Pitt_P'

SET @HostName = HOST_NAME()

SET @SqlCmd = ''  SELECT @Sqlcmd = @SqlCmd + CHAR(13) + CHAR(10) + 'KILL ' + convert(CHAR(10), spid) + ' '

FROM master.dbo.sysprocesses

WHERE hostname = @HostName

	AND DBID <> 0

	AND spid <> @@spid PRINT @sqlcmd EXEC(@Sqlcmd)

GO

แก้จากต้นแบบ Kill all processes associated with a hostname โดยดึงข้อมูล HOST HOST_NAME แทนที่จะใส่ชื่อเครื่องตัวเองไป