Slå upp inloggade användare i specifik databas


Tag : Inloggade,SQL,SQL Server

SELECT * FROM sysprocesses WHERE DB_NAME(DBID)='DatabasNamn'

--Se alla blocked users i specifik databas

SELECT spid,blocked,dbid,cpu,physical_io,login_time,last_batch,status,hostname,program_name,cmd,nt_username,loginame FROM sysprocesses WHERE DB_NAME(DBID)='DatabasNamn' and blocked > 0

--Kolla användare i specifik databas lite mindre information

SELECT DB_NAME(DBID) AS DbName, dbid, spid, blocked, lastwaittype, login_time, status, hostname, program_name, loginame FROM sysprocesses WHERE DB_NAME(DBID) = 'DB_NAME' -- WHERE DB_NAME(DBID) LIKE '%DB_NAME%' --Alternativt

CREATE TABLE ##temp_sp_who2 ( SPID INT, Status VARCHAR(1000) NULL, Login SYSNAME NULL, HostName SYSNAME NULL, BlkBy SYSNAME NULL, DBName SYSNAME NULL, Command VARCHAR(1000) NULL, CPUTime INT NULL, DiskIO INT NULL, LastBatch VARCHAR(1000) NULL, ProgramName VARCHAR(1000) NULL, SPID2 INT , REQUESTID INT NULL --comment out for SQL 2000 databases

)

INSERT INTO ##temp_sp_who2 EXEC sp_who2

SELECT * FROM ##temp_sp_who2 WHERE DBName = '[Db_Name]'

DROP TABLE ##temp_sp_who2

About

Det här är min digitala anteckningsbok för allt som har med databaser, automatisering och teknik att göra.
Här samlar jag alla de där skripten, lösningarna och knepen jag byggt på mig under åren – främst inom SQL Server och PowerShell.
Istället för att de ska ligga och damma i en glömd mapp delar jag med mig av dem här, så att både jag själv (när minnet sviker) och du förhoppningsvis kan spara några timmars klickande.