Zdieľať cez


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.

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 a sys.dm_exec_requests zobrazovať svoje vlastné výsledky v sklade, ale nemajú povolenie na vykonanie funkcie sys.dm_exec_connections.
  • Iba správca má povolenie na spustenie KILL príkazu.