Monitorování připojení, relací a požadavků pomocí zobrazení dynamické správy

Platí pro:✅ Koncový bod sql Analytics a sklad v Microsoft Fabric

Existující zobrazení dynamické správy (DMV) můžete použít k monitorování stavu připojení, relace a žádosti v Microsoft Fabric. Další informace o nástrojích a metodách spouštění dotazů T-SQL najdete v tématu Dotazování na sklad.

Monitorování připojení, relací a požadavků pomocí zobrazení dynamické správy životního cyklu dotazů

Pro aktuální verzi jsou k dispozici tři zobrazení dynamické správy (DMV) pro příjem přehledů životního cyklu živého dotazu SQL.

Tyto tři zobrazení dynamické správy poskytují podrobný přehled o následujících scénářích:

  • Kdo je uživatel, který relaci spouští?
  • Kdy byla relace spuštěna uživatelem?
  • Jaké je ID připojení k datovému skladu a relaci, která žádost spouští?
  • Kolik dotazů aktivně běží?
  • Které dotazy běží dlouho?

V tomto kurzu se dozvíte, jak monitorovat spuštěné dotazy SQL pomocí zobrazení dynamické správy (DMV).

Příklady dotazů DMV

Následující ukázkové sys.dm_exec_sessions dotazy vyhledávají všechny aktuálně spuštěné relace.

SELECT * 
FROM sys.dm_exec_sessions;

Vyhledání vztahu mezi propojeními a relacemi

Následující příklad spojí sys.dm_exec_connections a sys.dm_exec_sessions k relaci mezi aktivní relací v určitém připojení.

SELECT connections.connection_id,
 connections.connect_time,
 sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id=sessions.session_id;

Identifikace a ukončení dlouhotrvajícího dotazu

Tento první dotaz identifikuje seznam dlouhotrvajících dotazů v pořadí, v jakém dotazu trvalo nejdéle, než přišel.

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Tento druhý dotaz ukazuje, který uživatel spustil relaci s dlouhotrvajícím dotazem.

SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Tento třetí dotaz ukazuje, jak použít příkaz KILL u session_id dlouhotrvajícího dotazu.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Například

KILL '101'

Oprávnění

  • Správce má oprávnění ke spuštění všech tří zobrazení dynamické správy (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) k zobrazení vlastních informací a informací ostatních v rámci pracovního prostoru.
  • Člen, přispěvatel a prohlížeč mohou spouštět sys.dm_exec_sessions a sys.dm_exec_requests zobrazovat své vlastní výsledky v rámci skladu, ale nemá oprávnění ke spuštění sys.dm_exec_connections.
  • Ke spuštění KILL příkazu má oprávnění jenom správce.