• This code will kill all processes who do not have an active request, who's last request was more than 24 hours ago and are connecting from management studio. You can adjust the WHERE clause to suit your needs.

    DECLARE @SPID INT,

    @SQL NVARCHAR(MAX);

    DECLARE CUR CURSOR LOCAL FAST_FORWARD FOR

    SELECT

    s.session_id

    FROM

    sys.dm_exec_sessions s

    LEFT JOIN

    sys.dm_exec_requests r

    ON s.session_id = r.session_id

    WHERE

    r.session_id IS NULL

    AND program_name LIKE '%Microsoft SQL Server Management Studio%'

    AND last_request_start_time < DATEADD(HOUR, -24, GETDATE());

    OPEN CUR;

    FETCH CUR INTO @SPID;

    WHILE @@FETCH_STATUS = 0

    BEGIN

    SET @SQL = N'KILL ' + CAST(@SPID AS VARCHAR(5));

    BEGIN TRY

    EXEC sp_executesql @SQL;

    PRINT 'SUCCESS: ' + @SQL;

    END TRY

    BEGIN CATCH

    PRINT 'ERROR: ' + @SQL;

    END CATCH;

    FETCH CUR INTO @SPID;

    END;

    CLOSE CUR;

    DEALLOCATE CUR;

    The SQL Guy @ blogspot[/url]

    @SeanPearceSQL

    About Me[/url]