Как отметил @Hutch, одно из основных ограничений sp_who2
заключается в том, что он не принимает никаких параметров, поэтому вы не можете сортировать или фильтровать его по умолчанию.Вы можете сохранить результаты во временную таблицу , но затем вам нужно заранее объявить все типы ( и запомнить 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