Udostępnij za pośrednictwem


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).

Jak monitorować połączenia, sesje i żądania przy użyciu dynamicznych widoków DMV cyklu zapytań

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.

Te trzy dynamiczne widoki zarządzania zapewniają szczegółowe informacje na temat następujących scenariuszy:

  • KtoTo czy użytkownik uruchamia 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).

Przykładowe zapytania DMV

Poniższe przykładowe zapytania sys.dm_exec_sessions umożliwiające znalezienie wszystkich aktualnie wykonywanych sesji.

SELECT * 
FROM sys.dm_exec_sessions;

Screenshot showing the results of sys.dm_exec_sessions.

Znajdowanie relacji między połączeniami i sesjami

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;

Identyfikowanie i zabijanie długotrwałego zapytania

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'

Uprawnienia

  • Administracja 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 i sys.dm_exec_requests wyświetlać własne wyniki w magazynie, ale nie ma uprawnień do wykonywania polecenia sys.dm_exec_connections.
  • Tylko Administracja ma uprawnienia do uruchamiania KILL polecenia.