Как получить подробный список подключений к базе данных в sql server 2005?

Как получить подробный список подключений к базе данных в sql server 2005?

4 ответов


используйте системную хранимую процедуру sp_who2.


sp_who2 фактически предоставит список соединений для сервер базы данных, а не база данных. Для просмотра соединений для одной базы данных (YourDatabaseName в этом примере) можно использовать

DECLARE @AllConnections TABLE(
    SPID INT,
    Status VARCHAR(MAX),
    LOGIN VARCHAR(MAX),
    HostName VARCHAR(MAX),
    BlkBy VARCHAR(MAX),
    DBName VARCHAR(MAX),
    Command VARCHAR(MAX),
    CPUTime INT,
    DiskIO INT,
    LastBatch VARCHAR(MAX),
    ProgramName VARCHAR(MAX),
    SPID_1 INT,
    REQUESTID INT
)

INSERT INTO @AllConnections EXEC sp_who2

SELECT * FROM @AllConnections WHERE DBName = 'YourDatabaseName'

(взято из SQL Server: фильтр вывода sp_who2.)


как отметил @Hutch, одно из основных ограничений sp_who2 это то, что он не принимает никаких параметров, поэтому вы не можете сортировать или фильтровать его по умолчанию. Ты можешь!--8-->сохранить результаты в таблицу temp, но тогда вы должны объявить все типы досрочно (и не забудьте DROP TABLE).

вместо этого, вы можете перейти непосредственно к источнику на master.dbo.sysprocesses

Я построил это, чтобы вывести почти то же самое, что sp_who2 генерирует, за исключением того, что вы можете легко добавить ORDER BY и WHERE предложения для получения значимого результата.

SELECT  spid,
        sp.[status],
        loginame [Login],
        hostname, 
        blocked BlkBy,
        sd.name DBName, 
        cmd Command,
        cpu CPUTime,
        physical_io DiskIO,
        last_batch LastBatch,
        [program_name] ProgramName   
FROM master.dbo.sysprocesses sp 
JOIN master.dbo.sysdatabases sd ON sp.dbid = sd.dbid
ORDER BY spid 

есть еще кто активный?:

кто активный? это комплексная хранимая процедура на основе активности сервера на SQL Server 2005 и 2008 динамические административные представления (DMV). Думать это sp_who2 на изрядную дозу анаболические стероиды