SLEEPING = DORMINDO
E como diz o ditado popular Deus ajuda a quem cedo madruga.
E esse negócio de dormir não dá certo rs...
É justamente o que acontece quando uma conexão feita a partir de um script ASP.Net, por exemplo, deixa a conexão sleeping por um tempo muito grande.
Mas como um script pode deixar isso acontecer...
Lembra que a gente sempre pede para fechar a conexão após executar o que deseja, tipo USA O CLOSE.
Mas como sempre lá vem o DBA Salvador dando um jeito.
==========================================================================>
-- select status,* from SYS.SYSPROCESSES where status='sleeping' and cmd!='TASK MANAGER '
-- select status,* from SYS.SYSPROCESSES where status='sleeping'
-- sp_who2
-- select status,* from SYS.SYSPROCESSES where status='sleeping'
-- select * from sys.dm_exec_requests
-- DECLARE @kill_id smallint
DECLARE @numero_spid varchar(10)
DECLARE processo CURSOR SCROLL FOR select spid from SYS.SYSPROCESSES where status='sleeping'
OPEN processo
FETCH NEXT FROM processo INTO @numero_spid
WHILE (@@FETCH_STATUS = 0)
BEGIN
-- Kill the current spid here
-- KILL @kill_id <---This line will not work
-- Kill @numero_spid
EXECUTE ('KILL ' + @numero_spid)
-- Get the next cursor row
FETCH NEXT FROM processo INTO @numero_spid
END
CLOSE processo
DEALLOCATE processo
<======================================================================================
Este script mata as conexões sleeping, vale a pena colocar isso em um job rodando de tempos em tempos, tipo a cada 3 ou 5 minutos.
Boa Sorte ;-)