Overvåk tilkoblinger, økter og forespørsler ved hjelp av DMV-er
Gjelder for:✅ SQL Analytics-endepunkt og Warehouse i Microsoft Fabric
Du kan bruke eksisterende dynamiske administrasjonsvisninger (DMV-er) til å overvåke tilkoblings-, økt- og forespørselsstatus i Microsoft Fabric. Hvis du vil ha mer informasjon om verktøyene og metodene for å kjøre T-SQL-spørringer, kan du se Spørre lageret.
Slik overvåker du tilkoblinger, økter og forespørsler ved hjelp av DMVer for spørringslivssyklus
For den gjeldende versjonen finnes det tre dynamiske administrasjonsvisninger (DMV-er) som du kan bruke til å motta livssyklusinnsikt for SQL-spørringer.
- sys.dm_exec_connections
- Returnerer informasjon om hver tilkobling som er opprettet mellom lageret og motoren.
- sys.dm_exec_sessions
- Returnerer informasjon om hver økt som er godkjent mellom elementet og motoren.
- sys.dm_exec_requests
- Returnerer informasjon om hver aktive forespørsel i en økt.
Disse tre DMV-ene gir detaljert innsikt i følgende scenarioer:
- Hvem kjører brukeren økten?
- Når ble økten startet av brukeren?
- Hva er ID-en for tilkoblingen til datalageret og økten som kjører forespørselen?
- Hvor mange spørringer kjører aktivt?
- Hvilke spørringer kjører lenge?
I denne opplæringen kan du lære hvordan du overvåker dine kjørende SQL-spørringer ved hjelp av dynamiske administrasjonsvisninger (DMV-er).
Eksempel på DMV-spørringer
Følgende eksempelspørringer sys.dm_exec_sessions
for å finne alle økter som for øyeblikket kjører.
SELECT *
FROM sys.dm_exec_sessions;
Finne relasjonen mellom tilkoblinger og økter
Følgende eksempel føyer seg sammen sys.dm_exec_connections
og sys.dm_exec_sessions
til relasjonen mellom den aktive økten i en bestemt tilkobling.
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;
Identifisere og DREPE en langvarig spørring
Denne første spørringen identifiserer listen over langvarige spørringer i hvilken rekkefølge spørringen har tatt lengst tid siden den kom.
SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;
Denne andre spørringen viser hvilken bruker som kjørte økten som har den langvarige spørringen.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Denne tredje spørringen viser hvordan du bruker KILL-kommandoen på session_id
med den langvarige spørringen.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
For eksempel
KILL '101'
Tillatelser
- En administrator har tillatelse til å kjøre alle tre DMV-er (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
) for å se sin egen og andres informasjon i et arbeidsområde. - Et medlem, en bidragsyter og et visningsprogram kan kjøre
sys.dm_exec_sessions
ogsys.dm_exec_requests
se sine egne resultater i lageret, men har ikke tillatelse til å kjøresys.dm_exec_connections
. - Bare en administrator har tillatelse til å kjøre
KILL
kommandoen.