Sugerowałbym również to, co zasugerował Julien, ale myślę, że zaplanowanie zapytania za pomocą SQL Server Agent byłoby lepszym pomysłem, a następnie za każdym razem, gdy się uruchamia, zrzucasz informacje do fizycznej tabeli. Dwa DMV są połączone sys.dm_exec_connections
isys.dm_exec_sessions
Jak najpierw stwórz fizyczny stół
create table Session_Information
( session_id int,
net_transport nvarchar(40),
host_name nvarchar(128),
program_name nvarchar(128),
nt_user_name nvarchar(128),
connect_time datetime,
client_interface_name nvarchar(128),
client_net_address varchar(48),
local_net_address varchar(48),
login_name nvarchar(128),
nt_domain nvarchar(128),
login_time datetime
);
Następnie wstaw rekordy do tej tabeli:
Insert into Session_Information
SELECT
c.session_id,
c.net_transport,
s.host_name,
s.program_name,
s.nt_user_name,
c.connect_time,
s.client_interface_name,
c.client_net_address,
c.local_net_address,
s.login_name,
s.nt_domain,
s.login_time
FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id;
Zaplanuj uruchamianie za pomocą SQL Server Agent co około 15 minut, a pod koniec dnia zobaczysz wszystko, co lubisz ze stołu session_information
.