Megosztás a következőn keresztül:


Kapcsolatok, munkamenetek és kérések monitorozása DMV-k használatával

A következőkre vonatkozik:✅ SQL Analytics-végpont és Warehouse a Microsoft Fabricben

A meglévő dinamikus felügyeleti nézetek (DMV-k) használatával figyelheti a kapcsolat, a munkamenet és a kérések állapotát a Microsoft Fabricben. A T-SQL-lekérdezések végrehajtásának eszközeiről és módszereiről további információt a Warehouse lekérdezése című témakörben talál.

Kapcsolatok, munkamenetek és kérések monitorozása lekérdezési életciklusÚ DMV-k használatával

Az aktuális verzióhoz három dinamikus felügyeleti nézet (DMV) érhető el, amelyek segítségével élő SQL-lekérdezések életciklus-elemzéseket kaphat.

Ez a három DMV részletes betekintést nyújt a következő forgatókönyvekbe:

  • Ki az a felhasználó, aki a munkamenetet futtatja?
  • Mikor indította el a munkamenetet a felhasználó?
  • Mi az adattárházhoz való kapcsolat azonosítója és a kérést futtató munkamenet?
  • Hány lekérdezés fut aktívan?
  • Mely lekérdezések futnak hosszú ideig?

Ebben az oktatóanyagban megtudhatja, hogyan monitorozhatja a futó SQL-lekérdezéseket dinamikus felügyeleti nézetek (DMV-k) használatával.

Példa DMV-lekérdezésekre

Az alábbi példa lekérdezi sys.dm_exec_sessions az összes jelenleg futtatott munkamenetet.

SELECT * 
FROM sys.dm_exec_sessions;

Képernyőkép a sys.dm_exec_sessions eredményeiről.

Kapcsolatok és munkamenetek közötti kapcsolat megkeresése

Az alábbi példa egy adott kapcsolat aktív munkamenete közötti kapcsolathoz csatlakozik sys.dm_exec_connections sys.dm_exec_sessions .

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;

Hosszú ideig futó lekérdezés azonosítása és MEGÖLése

Ez az első lekérdezés a hosszú ideig futó lekérdezések listáját azonosítja annak sorrendjében, hogy a lekérdezés a leghosszabb ideig tart a lekérdezés megérkezése óta.

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Ez a második lekérdezés azt mutatja be, hogy melyik felhasználó futtatta a hosszú ideig futó lekérdezést tartalmazó munkamenetet.

SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Ez a harmadik lekérdezés bemutatja, hogyan használhatja a KILL parancsot a session_id hosszú ideig futó lekérdezéssel.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Példa:

KILL '101'

Engedélyek

  • A rendszergazda mindhárom DMV végrehajtásához (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) rendelkezik engedéllyel a saját és mások adatainak egy munkaterületen belüli megtekintéséhez.
  • A tagok, közreműködők és megtekintők végrehajthatják sys.dm_exec_sessions és sys.dm_exec_requests megtekinthetik a saját eredményeiket a raktárban, de nincs engedélye a végrehajtásra sys.dm_exec_connections.
  • Csak egy rendszergazda rendelkezik engedéllyel a KILL parancs futtatásához.