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.
- sys.dm_exec_connections
- Vrátí informace o každém spojení vytvořeném mezi skladem a modulem.
- sys.dm_exec_sessions
- Vrátí informace o každé relaci ověřené mezi položkou a modulem.
- sys.dm_exec_requests
- Vrátí informace o každém aktivním požadavku v relaci.
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
asys.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.