Övervaka anslutningar, sessioner och begäranden med DMV:er
Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric
Du kan använda befintliga dynamiska hanteringsvyer (DMV:er) för att övervaka anslutnings-, sessions- och begärandestatus i Microsoft Fabric. Mer information om verktyg och metoder för att köra T-SQL-frågor finns i Fråga informationslagret.
Övervaka anslutningar, sessioner och begäranden med hjälp av DMV:er för frågelivscykel
För den aktuella versionen finns det tre dynamiska hanteringsvyer (DMV:er) som du kan använda för att få insikter om sql-frågelivscykeln live.
- sys.dm_exec_connections
- Returnerar information om varje anslutning som upprättas mellan lagret och motorn.
- sys.dm_exec_sessions
- Returnerar information om varje session som autentiseras mellan objektet och motorn.
- sys.dm_exec_requests
- Returnerar information om varje aktiv begäran i en session.
Dessa tre DMV:er ger detaljerad information om följande scenarier:
- Vem är användaren som kör sessionen?
- När startades sessionen av användaren?
- Vad är ID:t för anslutningen till informationslagret och sessionen som kör begäran?
- Hur många frågor körs aktivt?
- Vilka frågor är tidskrävande?
I den här självstudien lär du dig hur du övervakar dina SQL-frågor som körs med dynamiska hanteringsvyer (DMV:er).
Exempel på DMV-frågor
Följande exempel frågar sys.dm_exec_sessions
efter alla sessioner som körs för närvarande.
SELECT *
FROM sys.dm_exec_sessions;
Hitta relationen mellan anslutningar och sessioner
I följande exempel kopplas sys.dm_exec_connections
och sys.dm_exec_sessions
till relationen mellan den aktiva sessionen i en specifik anslutning.
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;
Identifiera och DÖDA en långvarig fråga
Den första frågan identifierar listan över långvariga frågor i den ordning som frågan har tagit längst tid sedan 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;
Den andra frågan visar vilken användare som körde sessionen som har den långvariga frågan.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Den här tredje frågan visar hur du använder KOMMANDOT KILL på session_id
med den långvariga frågan.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
Till exempel
KILL '101'
Behörigheter
- En administratör har behörighet att köra alla tre DMV:er (
sys.dm_exec_connections
, ,sys.dm_exec_sessions
sys.dm_exec_requests
) för att se sin egen och andras information på en arbetsyta. - En medlem, deltagare och visningsprogram kan köra
sys.dm_exec_sessions
ochsys.dm_exec_requests
se sina egna resultat i lagret, men har inte behörighet att körasys.dm_exec_connections
. - Endast en administratör har behörighet att köra
KILL
kommandot.