หมวดหมู่: T-SQL

Microsoft SQL Server is Transact-SQL (T-SQL)

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

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

/*
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 แทนที่จะใส่ชื่อเครื่องตัวเองไป