MyITGuy
4/18/2014 - 1:41 PM

List the users communicating with a given database.

List the users communicating with a given database.

DECLARE @T TABLE
	(
		-- sp_who2 utilizes sys.sysprocesses (loosely)
		--http://technet.microsoft.com/en-us/library/ms179881.aspx
		[spid] SMALLINT,
		[status] VARCHAR(50),
		[login] VARCHAR(50),
		[hostname] VARCHAR(50),
		[blk] VARCHAR(50),
		[dbname] VARCHAR(50),
		[command] VARCHAR(max),
		[cputime] INT,
		[diskio] INT,
		[lastbatch] VARCHAR(50),
		[programname] VARCHAR(max),
		[spid_sort] INT,
		[request_id] INT
	)
INSERT INTO @T EXEC sp_who2

SELECT DISTINCT [Login],[HostName],[ProgramName]
FROM @T
WHERE [DBName] = DB_NAME()
AND [spid] != @@SPID
ORDER BY [Login],[HostName],[ProgramName]