Monitorowanie połączeń, sesji i żądań przy użyciu widoków DMV
Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric
Możesz użyć istniejących dynamicznych widoków zarządzania (DMV) do monitorowania połączenia, sesji i stanu żądania w usłudze Microsoft Fabric. Aby uzyskać więcej informacji na temat narzędzi i metod wykonywania zapytań T-SQL, zobacz Query the Warehouse (Wykonywanie zapytań w magazynie).
W bieżącej wersji dostępne są trzy dynamiczne widoki zarządzania (DMV), które umożliwiają uzyskiwanie szczegółowych informacji dotyczących cyklu życia zapytań SQL na żywo.
- sys.dm_exec_connections
- Zwraca informacje o każdym połączeniu nawiązane między magazynem a aparatem.
- sys.dm_exec_sessions
- Zwraca informacje o każdej sesji uwierzytelnionej między elementem a aparatem.
- sys.dm_exec_requests
- Zwraca informacje o każdym aktywnym żądaniu w sesji.
Te trzy dynamiczne widoki zarządzania zapewniają szczegółowe informacje na temat następujących scenariuszy:
- Kto jest użytkownikiem uruchamiającym sesję?
- Kiedy sesja została uruchomiona przez użytkownika?
- Jaki jest identyfikator połączenia z magazynem danych i sesją, w której uruchomiono żądanie?
- Ile zapytań aktywnie działa?
- Które zapytania są długotrwałe?
Z tego samouczka dowiesz się, jak monitorować uruchomione zapytania SQL przy użyciu dynamicznych widoków zarządzania (DMV).
Poniższe przykładowe zapytania sys.dm_exec_sessions
umożliwiające znalezienie wszystkich aktualnie wykonywanych sesji.
SELECT *
FROM sys.dm_exec_sessions;
Poniższy przykład łączy sys.dm_exec_connections
się z sys.dm_exec_sessions
relacją między aktywną sesją w określonym połączeniu.
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;
To pierwsze zapytanie identyfikuje listę długotrwałych zapytań w kolejności, w której zapytanie trwało najdłużej od czasu jej przybycia.
SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;
To drugie zapytanie pokazuje, który użytkownik uruchomił sesję z długotrwałym zapytaniem.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
To trzecie zapytanie pokazuje, jak używać polecenia KILL w poleceniu session_id
z długotrwałym zapytaniem.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
Na przykład
KILL '101'
- Administrator ma uprawnienia do wykonywania wszystkich trzech widoków DMV (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
), aby wyświetlić własne i inne informacje w obszarze roboczym. - Element członkowski, współautor i osoba przeglądająca może wykonywać
sys.dm_exec_sessions
isys.dm_exec_requests
wyświetlać własne wyniki w magazynie, ale nie ma uprawnień do wykonywania poleceniasys.dm_exec_connections
. - Tylko administrator ma uprawnienia do uruchamiania
KILL
polecenia.