How do I see active SQL Server connections?

后端 未结 8 946
暖寄归人
暖寄归人 2020-11-28 00:13

I am using SQL Server 2008 Enterprise. I want to see any active SQL Server connections, and the related information of all the connections, like from which IP address, conne

8条回答
  •  日久生厌
    2020-11-28 00:57

    I threw this together so that you could do some querying on the results

    Declare @dbName varchar(150)
    set @dbName = '[YOURDATABASENAME]'
    
    --Total machine connections
    --SELECT  COUNT(dbid) as TotalConnections FROM sys.sysprocesses WHERE dbid > 0
    
    --Available connections
    DECLARE @SPWHO1 TABLE (DBName VARCHAR(1000) NULL, NoOfAvailableConnections VARCHAR(1000) NULL, LoginName VARCHAR(1000) NULL)
    INSERT INTO @SPWHO1 
        SELECT db_name(dbid), count(dbid), loginame FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid, loginame
    SELECT * FROM @SPWHO1 WHERE DBName = @dbName
    
    --Running connections
    DECLARE @SPWHO2 TABLE (SPID VARCHAR(1000), [Status] VARCHAR(1000) NULL, [Login] VARCHAR(1000) NULL, HostName VARCHAR(1000) NULL, BlkBy VARCHAR(1000) NULL, DBName VARCHAR(1000) NULL, Command VARCHAR(1000) NULL, CPUTime VARCHAR(1000) NULL, DiskIO VARCHAR(1000) NULL, LastBatch VARCHAR(1000) NULL, ProgramName VARCHAR(1000) NULL, SPID2 VARCHAR(1000) NULL, Request VARCHAR(1000) NULL)
    INSERT INTO @SPWHO2 
        EXEC sp_who2 'Active'
    SELECT * FROM @SPWHO2 WHERE DBName = @dbName
    

提交回复
热议问题