dinsdag 16 december 2008

sp_ListConnectionsOK

USE [master]
GO
/****** Object: StoredProcedure [dbo].[sp_ListConnectionsOK] Script Date: 12/16/2008 11:31:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_ListConnectionsOK]
@DBUltra bit = 0,
@PCUltra bit = 0,
@DBIntra varchar(8000) = NULL,
@DBExtra varchar(8000) = NULL,
@PCIntra varchar(100) = NULL,
@PCExtra varchar(100) = NULL,
@DBTrain char(1) = NULL,
@PCTrain varchar(2000) = NULL
AS

SET NOCOUNT ON

DECLARE @Return int
DECLARE @Retain int
DECLARE @Status int

SET @Status = 0

DECLARE @Task varchar(4000)

DECLARE @Work varchar(2000)

DECLARE @Host varchar(200)

DECLARE @SPID smallint

DECLARE @SPOT smallint

SET @SPOT = CASE WHEN CHARINDEX('2000 - 8',@@VERSION,1) > 0 THEN 50 ELSE 12 END

SET @Work = REPLACE(@PCTrain,CHAR(94),CHAR(39))

IF @PCTrain IS NULL

BEGIN

SELECT P.spid AS [ID]
, RTRIM(P.hostname) AS [Client]
, RTRIM(P.loginame) AS [Login]
, RTRIM(P.program_name) AS [Application]
, RTRIM(O.name) AS [Database]
, CONVERT(varchar(20),P.login_time,20) AS [Connection]
FROM master.dbo.sysprocesses AS P
JOIN master.dbo.sysdatabases AS O
ON P.dbid = O.dbid
LEFT JOIN master.dbo.sysprocesses AS Z
ON P.spid = Z.blocked
WHERE P.spid > @SPOT
ORDER BY [Client],[Login],[Application],[Database],[Connection]

SET @Retain = @@ERROR IF @Status = 0 SET @Status = @Retain

END




IF @Status = 1 OR @Status NOT BETWEEN 0 AND 50000 RAISERROR ('Windows error [%d]',16,1,@Status)

SET NOCOUNT OFF

RETURN (@Status)

exec sp_ListConnectionsOK

Geen opmerkingen:

Een reactie posten