miércoles, 30 de septiembre de 2015

Consulta personalizada para buscar procesos en SQL SERVER 2008


Para poder visualizar los procesos actualmente ejecutados en nuestra base de datos, se puede usar el comando "sp_who2".



El problema con solo usar este comando es que no se puede filtrar o realizar una consulta simple para que nos muestre los datos que deseamos. Para ello, se puede usar la siguiente consulta para poder filtrar los valores que se desee mostrar u otro dato, ya que el resultado del comando "sp_who2" se almacena en una tabla temporal.

CREATE TABLE #sp_who2 (SPID INT,Status VARCHAR(255),
      Login  VARCHAR(255),HostName  VARCHAR(255), 
      BlkBy  VARCHAR(255),DBName  VARCHAR(255), 
      Command VARCHAR(255),CPUTime INT, 
      DiskIO INT,LastBatch VARCHAR(255), 
      ProgramName VARCHAR(255),SPID2 INT, 
      REQUESTID INT) 
INSERT INTO #sp_who2 EXEC sp_who2
SELECT * FROM        #sp_who2
WHERE       DBName = 'master'
ORDER BY    DBName ASC
DROP TABLE #sp_who2


Como se puede apreciar, se aplico un filtro para poder ver los procesos de la base de datos MASTER y se puede aplicar otros criterios que se desee como resultado de la consulta de procesos.