if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USP_GETEXCLUSIVE]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[USP_GETEXCLUSIVE]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--create stored procedure
CREATE PROCEDURE USP_GETEXCLUSIVE @dbname varchar(100) AS
SET NOCOUNT ON
SET QUOTED_IDENTIFIER OFF
--declares our variables
DECLARE @KILL_ID int
DECLARE @QUERY VARCHAR(320)
DECLARE GETEXCLUSIVE_CURSOR CURSOR FOR
--get all SPIDs from SYSOBJECTS table which match our database
SELECT A.SPID FROM SYSPROCESSES A JOIN
SYSDATABASES B ON A.DBID=B.DBID WHERE B.NAME=@DBNAME
OPEN GETEXCLUSIVE_CURSOR
FETCH NEXT FROM GETEXCLUSIVE_CURSOR INTO @KILL_ID
WHILE(@@FETCH_STATUS =0)
BEGIN
--form drop trigger query
SET @QUERY = 'KILL '+ CONVERT(VARCHAR,@KILL_ID)
EXEC (@QUERY)
FETCH NEXT FROM GETEXCLUSIVE_CURSOR INTO @KILL_ID
END
CLOSE GETEXCLUSIVE_CURSOR
DEALLOCATE GETEXCLUSIVE_CURSOR
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Thursday, October 11, 2007
Subscribe to:
Posts (Atom)