Anda dapat melihat proses yang sedang berjalan di SSMS di Activity Monitor.
Anda juga bisa mendapatkannya menggunakan sys.dm_exec_sessions serta sys.dm_exec_connections dan sys.dm_exec_requests .
Pertanyaan:
SELECT DB_NAME(database_id) as [DB]
, login_name
, nt_domain
, nt_user_name
, status
, host_name
, program_name
, COUNT(*) AS [Connections]
FROM sys.dm_exec_sessions
WHERE database_id > 0 -- OR 4 for user DBs
GROUP BY database_id, login_name, status, host_name, program_name, nt_domain, nt_user_name;
Nama host, nama proses, atau nama pengguna domain sering kali memberikan informasi lebih dari sekadar alamat IP. Kolom lain dapat ditambahkan seperti: login_time
,last_successful_logon
IP dan informasi lainnya dapat diambil dengan BERGABUNG untuk sys.dm_exec_connections pada session_id
: client_net_address
, local_net_address
, connect_time
, pelabuhan, ...
sys.dm_exec_requests juga dapat memberikan informasi bermanfaat: command
ketik sql_handle
,, ...
Kueri ini hanya sampel. Anda harus JOIN
3 pandangan ini bersama-sama dan mengeluarkan / menyimpan informasi yang relevan dari keduanya.
Data dari tampilan ini menghilang ketika SQL Server dihidupkan ulang. Oleh karena itu jika aplikasi tidak terhubung secara teratur, mungkin ide yang baik untuk menyimpannya secara teratur menggunakan pekerjaan atau skrip (Powershell).