Ich würde auch vorschlagen, was Julien vorgeschlagen hat, aber ich denke, die Planung der Abfrage über den SQL Server-Agenten wäre eine bessere Idee, und jedes Mal, wenn sie ausgeführt wird, werden die Informationen in eine physische Tabelle geschrieben. Zwei DMVs sind verbunden sys.dm_exec_connections
undsys.dm_exec_sessions
Erstellen Sie zunächst eine physische Tabelle
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
);
Fügen Sie dann Datensätze in diese Tabelle ein:
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;
Planen Sie dies so, dass es etwa alle 15 Minuten über den SQL Server-Agenten ausgeführt wird. Am Ende des Tages können Sie in der Tabelle alles sehen, was Ihnen gefällt session_information
.