RS First Dynamics NAV Blog


...from NAV 3.60 to NAV 2013
Archivio Posts
Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Killare processi attivi sql

Articolo di Andrea Benedetti

Può capitare di dover killare tutti i processi che sono attivi (magari rimasti appesi o comunque dormienti) su un determinato database.

Interrogando la vista di sistema sys.sysprocesses siamo in grado di recuperare l'elenco (gli SPID) dei processi legati ad uno specifico db.

Trovata la lista chiamo la KILL su ogni singolo SPID recuperato.

Esempio:

Use Master
go

DECLARE @DatabaseName varchar(50)
Set @DatabaseName = 'nomeDelMioDatabase'

DECLARE SysProc CURSOR LOCAL FORWARD_ONLY DYNAMIC READ_ONLY FOR
SELECT spid FROM sys.sysprocesses
WHERE dbid = (SELECT DB_ID(@DatabaseName) )
        And SPID <> @@SPID

DECLARE @SysProcId smallint

OPEN SysProc
FETCH NEXT FROM SysProc INTO @SysProcId

DECLARE @KillStatement char(30)

WHILE @@FETCH_STATUS = 0
BEGIN
  SET @KillStatement = 'KILL ' + CAST(@SysProcId AS char(30))
  EXEC (@KillStatement)
  --> Print @KillStatement

 FETCH NEXT FROM SysProc INTO @SysProcId
END

Categoria: Sql Server ALL
sabato, 28 apr 2007 Ore. 11.01

Messaggi collegati


Statistiche
  • Views Home Page: 468.790
  • Views Posts: 885.506
  • Views Gallerie: 0
  • n° Posts: 343
  • n° Commenti: 0
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003