SELECT
c.client_net_address AS [Client IP Address],
s.host_name AS [Host Name],
s.login_name AS [Login Name],
s.login_time AS [Connection Time],
DATEDIFF(MINUTE, s.login_time, GETDATE()) AS [Connected Minutes]
FROM sys.dm_exec_sessions AS s
JOIN sys.dm_exec_connections AS c ON s.session_id = c.session_id
WHERE s.login_time >= DATEADD(DAY, -2, GETDATE());
Bu sorgu, SQL Server’da son iki gün içindeki aktif bağlantıları ve bu bağlantıların bazı özelliklerini listeler. Sorgunun yaptığı işlemler:
sys.dm_exec_sessions
vesys.dm_exec_connections
görünümlerini kullanarak bağlantıları ve oturumları birleştirir. Bu görünümler, SQL Server oturumlarını ve bağlantılarını izlemek için kullanılır.c.client_net_address
ile bağlantı yapan istemcinin IP adresini,s.host_name
ile istemcinin host adını,s.login_name
ile bağlanan kullanıcının adını,s.login_time
ile bağlantı zamanını veDATEDIFF(MINUTE, s.login_time, GETDATE())
ile bağlantı süresini hesaplar.WHERE
koşulu ile bağlantılarıns.login_time
(bağlantı zamanı) alanını kontrol eder.s.login_time
son iki gün içindeki bağlantıları filtrelemek içinDATEADD(DAY, -2, GETDATE())
ile karşılaştırılır.
Sonuç olarak, bu sorgu, son iki gün içinde SQL Server’a bağlanmış istemcilerin IP adreslerini, host adlarını, kullanıcı adlarını, bağlantı zamanlarını ve bağlantı sürelerini listeleyecektir. Bu bilgiler, SQL Server’daki bağlantıların izlenmesi ve analiz edilmesi için kullanışlıdır.