CREATE PROCEDURE dbo.KillConexiones
@dbName SYSNAME
AS
BEGIN
SET NOCOUNT ON
DECLARE @spid INT,
@cnt INT,
@sql VARCHAR(255)
SELECT @spid = MIN(spid),
@cnt = COUNT(*)
FROM MASTER..sysprocesses
WHERE dbid = DB_ID(@dbname)
AND spid != @@SPID
PRINT 'Eliminando ' + RTRIM(@cnt) + ' procesos.'
WHILE @spid IS NOT NULL
BEGIN
PRINT 'Eliminando Proceso ' + RTRIM(@spid)
SET @sql = 'KILL ' + RTRIM(@spid)
EXEC (@sql)
SELECT @spid = MIN(spid),
@cnt = COUNT(*)
FROM MASTER..sysprocesses
WHERE dbid = DB_ID(@dbname)
AND spid != @@SPID
PRINT RTRIM(@cnt) + ' Procesos por eliminar.'
END
END
GO
Bienvenidos! En mi blog comparto mis experiencias y conocimientos relacionados con las TIC's, lenguajes de programación, bases de datos...
2014/06/09
Eliminar todas las conexiones activas en una base de datos
Permite cerrar las conexiones abiertas de una base de datos en SQL Server, cuando quieres alterar y/o eliminar una tabla o base de datos y no se puedes porque existen conexiones activas que lo impiden, solo debes de ejecutar el siguiente script.