Monitorovanie pripojení, relácií a požiadaviek pomocou zobrazenia dynamickej správy
Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric
Na monitorovanie pripojenia, relácie a stavu požiadavky v službe Microsoft Fabric môžete použiť existujúce zobrazenia dynamickej správy (DMV). Ďalšie informácie o nástrojoch a metódach spúšťania dotazov T-SQL nájdete v téme Dotaz skladu.
Ako monitorovať pripojenia, relácie a požiadavky pomocou životného cyklu dotazov DMV
V aktuálnej verzii sú k dispozícii tri zobrazenia dynamickej správy (DMV), ktoré vám umožňujú získať dynamické prehľady životného cyklu dotazu SQL.
- sys.dm_exec_connections
- Vráti informácie o každom pripojení vytvorenom medzi skladom a motorom.
- sys.dm_exec_sessions
- Vráti informácie o každej relácii overenej medzi položkou a nástrojom.
- sys.dm_exec_requests
- Vráti informácie o každej aktívnej žiadosti v relácii.
Tieto tri zobrazenia dynamickej správy poskytujú podrobný prehľad o nasledujúcich scenároch:
- Kto spúšťa reláciu?
- Kedy používateľ spustil reláciu?
- Aké je ID pripojenia do skladu údajov a relácie, na základe čoho sa spúšťa požiadavka?
- Koľko dotazov je aktívne spustených?
- Ktoré dotazy sú dlho spracúvané?
V tomto kurze sa naučíte monitorovať spustené dotazy SQL pomocou dynamických zobrazení správy (DMV).
Príklady dotazov DMV
V nasledujúcom príklade sa dotazuje sys.dm_exec_sessions
, aby sa našli všetky relácie, ktoré sa práve spúšťajú.
SELECT *
FROM sys.dm_exec_sessions;
Vyhľadanie vzťahu medzi pripojeniami a reláciami
Nasledujúci príklad sa spája a sys.dm_exec_connections
sys.dm_exec_sessions
ku vzťahu medzi aktívnou reláciou v konkrétnom pripojení.
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;
Identifikácia a zabitie dlhotrvajúceho dotazu
Tento prvý dotaz identifikuje zoznam dlhotrvajúcich dotazov, ktorých poradie trvalo najdlhšie od jeho prijatia.
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, ktorý používateľ spustil reláciu s dlhotrvajúcim dotazom.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Tento tretí dotaz ukazuje, ako používať príkaz KILL na session_id
dotaze, ktorý je dlhotrvajúci.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
Napríklad
KILL '101'
Povolenia
- Správca má povolenia na vykonanie všetkých troch zobrazenia dynamickej správy (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
), aby videl svoje vlastné a ďalšie informácie v pracovnom priestore. - Člen, prispievateľ a čitateľ môžu vykonať
sys.dm_exec_sessions
asys.dm_exec_requests
zobrazovať svoje vlastné výsledky v sklade, ale nemajú povolenie na vykonanie funkciesys.dm_exec_connections
. - Iba správca má povolenie na spustenie
KILL
príkazu.