Follow Us

Soluții pentru problemele tale IT

Home /Servicii baze de date/SQL Server/Monitorizare sql server login
Home /Servicii baze de date /Monitorizare sql server login

Monitorizare sql server login

  • Data 13/07/2023
  • Autor Bogdan Dumitru
  • Categorie Servicii baze de date, SQL Server
  • 4
  • 807
Configurare noua (How To)

Situatie

Mai jos este o procedura ce primeste ca parametru numele unui login de pe un server Microsoft SQL Server si pentru acest login, returneaza informatii despre activitatea lui pe serverul sql.

Solutie

alter PROCEDURE ActivityByLogin_prc
@Login varchar(max)

as

SELECT
[Session ID] = s.session_id,
[User Process] = CONVERT(CHAR(1), s.is_user_process),
[Login] = s.login_name,
[Database] = ISNULL(db_name(p.dbid), N”),
[Task State] = ISNULL(t.task_state, N”),
[Command] = ISNULL(r.command, N”),
[Application] = ISNULL(s.program_name, N”),
[Wait Time (ms)] = ISNULL(w.wait_duration_ms, 0),
[Wait Type] = ISNULL(w.wait_type, N”),
[Wait Resource] = ISNULL(w.resource_description, N”),
[Blocked By] = ISNULL(CONVERT (varchar, w.blocking_session_id), ”),
[Head Blocker] =
CASE
WHEN r2.session_id IS NOT NULL AND (r.blocking_session_id = 0 OR r.session_id IS NULL) THEN ‘1’
ELSE ”
END,
[Total CPU (ms)] = s.cpu_time,
[Total Physical I/O (MB)] = (s.reads + s.writes) * 8 / 1024,
[Memory Use (KB)] = s.memory_usage * 8192 / 1024,
[Open Transactions] = ISNULL(r.open_transaction_count,0),
[Login Time] = s.login_time,
[Last Request Start Time] = s.last_request_start_time,
[Host Name] = ISNULL(s.host_name, N”),
[Net Address] = ISNULL(c.client_net_address, N”),
[Execution Context ID] = ISNULL(t.exec_context_id, 0),
[Request ID] = ISNULL(r.request_id, 0),
[Workload Group] = ISNULL(g.name, N”)
FROM sys.dm_exec_sessions s LEFT OUTER JOIN sys.dm_exec_connections c ON (s.session_id = c.session_id)
LEFT OUTER JOIN sys.dm_exec_requests r ON (s.session_id = r.session_id)
LEFT OUTER JOIN sys.dm_os_tasks t ON (r.session_id = t.session_id AND r.request_id = t.request_id)
LEFT OUTER JOIN
(

SELECT *, ROW_NUMBER() OVER (PARTITION BY waiting_task_address ORDER BY wait_duration_ms DESC) AS row_num
FROM sys.dm_os_waiting_tasks
) w ON (t.task_address = w.waiting_task_address) AND w.row_num = 1
LEFT OUTER JOIN sys.dm_exec_requests r2 ON (s.session_id = r2.blocking_session_id)
LEFT OUTER JOIN sys.dm_resource_governor_workload_groups g ON (g.group_id = s.group_id)–TAKE THIS dmv OUT TO WORK IN 2005
LEFT OUTER JOIN sys.sysprocesses p ON (s.session_id = p.spid)
where s.login_name = @Login
ORDER BY s.session_id;

Tip solutie

Permanent
Etichetare: activity by sql server login

Voteaza

Up Down
(27 din 50 persoane apreciaza acest articol)
Share
Tweet
Share

Despre Autor

Bogdan Dumitru

Solutii Asemanatoare

  • Gasire locatii backup-uri pe un server MSSQL 3
  • Backup la multiple baze in MSSQL 0
  • Procent modificare baze de date de la ultimul backup pe un server MSSQL 1
  • Listare configurari crestere baze de date de pe un server MSSQL 0
  • Top 10 queries by CPU logical reads 3
  • Last time database backup on MSSQL Server 7

Leave A Comment? × Cancel Reply

31893

Soluții Disponibile

0 Articole

In ultima saptamana

Cele mai recente soluții

  • Diagnosticarea și rezolvarea erorii „Kernel panic – not syncing: Attempted to kill init!”
    • 67
    • 7 days ago
  • Diagnosticarea și rezolvarea erorii „Bus error (core dumped)” în Linux
    • 65
    • 03/08/2026
  • 3 Ubuntu versions different than the original
    • 69
    • 1 week ago
  • 5 hidden terminal typos for Ubuntu
    • 64
    • 02/08/2026
  • 4 Excel tools you won’t find on the ribbon
    • 62
    • 1 week ago
© Askit.ro, 2014 - 2026. All rights reserved. Done by Class IT
Share
Tweet
Share