Overvåg forbindelser, sessioner og anmodninger ved hjælp af DMV'er
Gælder for:✅ SQL Analytics-slutpunkt og warehouse i Microsoft Fabric
Du kan bruge eksisterende DMV'er (Dynamic Management Views) til at overvåge forbindelse, session og anmodningsstatus i Microsoft Fabric. Du kan få flere oplysninger om værktøjerne og metoderne til at udføre T-SQL-forespørgsler under Forespørg lageret.
Sådan overvåger du forbindelser, sessioner og anmodninger ved hjælp af DMV'er for forespørgselslivscyklus
For den aktuelle version er der tre DV'er (Dynamic Management Views), som du kan bruge til at modtage live SQL-forespørgselslivscyklusindsigt.
- sys.dm_exec_connections
- Returnerer oplysninger om hver forbindelse, der er etableret mellem lageret og programmet.
- sys.dm_exec_sessions
- Returnerer oplysninger om hver session, der er godkendt mellem elementet og programmet.
- sys.dm_exec_requests
- Returnerer oplysninger om hver aktiv anmodning i en session.
Disse tre DMV'er giver detaljeret indsigt i følgende scenarier:
- Hvem kører sessionen?
- Hvornår blev sessionen startet af brugeren?
- Hvad er id'et for forbindelsen til data Warehouse og den session, der kører anmodningen?
- Hvor mange forespørgsler kører aktivt?
- Hvilke forespørgsler kører længe?
I dette selvstudium kan du få mere at vide om, hvordan du overvåger dine kørende SQL-forespørgsler ved hjælp af dynamiske administrationsvisninger (DMV'er).
Eksempel på DMV-forespørgsler
Følgende eksempelforespørgsler sys.dm_exec_sessions
for at finde alle sessioner, der kører i øjeblikket.
SELECT *
FROM sys.dm_exec_sessions;
Find relationen mellem forbindelser og sessioner
Følgende eksempel joinforbinder sys.dm_exec_connections
og sys.dm_exec_sessions
til relationen mellem den aktive session i en bestemt forbindelse.
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;
Identificer og KILL for en forespørgsel, der har kørt i lang tid
Denne første forespørgsel identificerer listen over langvarige forespørgsler i den rækkefølge, som forespørgslen har taget længst tid siden den er ankommet.
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 anden forespørgsel viser, hvilken bruger der kørte den session, der har den langvarige forespørgsel.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Denne tredje forespørgsel viser, hvordan du bruger kommandoen KILL på session_id
med den langvarige forespørgsel.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
For eksempel
KILL '101'
Tilladelser
- En administrator har tilladelse til at udføre alle tre DMV'er (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
) for at se deres egne og andres oplysninger i et arbejdsområde. - Et medlem, en bidragyder og en fremviser kan udføre
sys.dm_exec_sessions
ogsys.dm_exec_requests
se deres egne resultater på lageret, men har ikke tilladelse til at udføresys.dm_exec_connections
. - Det er kun en administrator, der har tilladelse til at køre kommandoen
KILL
.