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


sys.dm_os_tasks (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Minden aktív feladathoz egy sort ad vissza, amely az SQL Server példányában aktív. A feladat az SQL Server alapvető végrehajtási egysége. Feladatok példái közé tartozik lekérdezés, bejelentkezés, kijelentkezés, valamint rendszerfeladatok, mint a szellem takarítási tevékenység, ellenőrzőponti tevékenység, naplóíró, párhuzamos újracsinálás tevékenység. További információkért a feladatokról lásd a Thread és Task Architecture útmutatót.

Megjegyzés:

Az Azure Synapse Analytics vagy Analytics Platform System (PDW) néven használjuk a sys.dm_pdw_nodes_os_tasks nevet. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Oszlop név Adattípus Description
task_address varbinary(8) Az objektum memóriacíme.
task_state nvarchar(60) A feladat állapota. Ez a következők egyike lehet:

FÜGGŐ: Várok egy munkásszálra.

RUNNABLE: Futtatható, de vár arra, hogy megkapja a kvantumot.

FUTÁS: Jelenleg az ütemezőn fut.

FELFÜGGESZTVE: Dolgozója van, de vár egy eseményre.

ELKÉSZÜLT: Kész.

SPINLOOP: Egy spinlockban ragadtam.
context_switches_count int Hány ütemező kontextusváltást teljesített ez a feladat.
pending_io_count int A feladat által végrehajtott fizikai I/O-k száma.
pending_io_byte_count bigint Az I/O-k teljes bájtszáma, amelyeket ez a feladat végez.
pending_io_byte_average int Az I/O-k átlagos bájtszáma, amelyeket ez a feladat végez.
scheduler_id int A szülői időzítő azonosítója. Ez egy cím az ütemező információhoz ehhez a feladathoz. További információért lásd sys.dm_os_schedulers (Transact-SQL).
session_id smallint Az adott feladathoz tartozó ülés azonosítója.
exec_context_id int A feladathoz tartozó végrehajtási kontextus azonosító.
request_id int A feladat kérésének azonosítója. További információ: sys.dm_exec_requests (Transact-SQL).
worker_address varbinary(8) A feladatot futtató dolgozó memóriacíme.

NULL = A feladat vagy arra vár, hogy egy dolgozó el tudja futni, vagy a feladat éppen befejezte a futását.

További információért lásd sys.dm_os_workers (Transact-SQL).
host_address varbinary(8) A gazda memóriacíme.

0 = A feladat létrehozásához nem használták a hosztingot. Ez segít azonosítani azt a hosztet, akivel ezt a feladatot létrehozták.

További információért lásd sys.dm_os_hosts (Transact-SQL).
parent_task_address varbinary(8) A feladat memóriacíme, amely az objektum szülője.
pdw_node_id int A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW)

Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Példák

A. Párhuzamos kérések monitorozása

Párhuzamosan végrehajtott kéréseknél több sort látsz ugyanazon (<session_id>, <request_id> kombinációhoz. Használja az alábbi lekérdezést, hogy megtalálja a Konfigurálja a maximális párhuzamossági fokú szerverkonfiguráció opciót minden aktív kéréshez.

Megjegyzés:

Egy request_id egyedi, egy ülésen belül.

SELECT  
    task_address,  
    task_state,  
    context_switches_count,  
    pending_io_count,  
    pending_io_byte_count,  
    pending_io_byte_average,  
    scheduler_id,  
    session_id,  
    exec_context_id,  
    request_id,  
    worker_address,  
    host_address  
  FROM sys.dm_os_tasks  
  ORDER BY session_id, request_id;  

B. Session ID-k társítása Windows szálakhoz

Az alábbi lekérdezéssel társíthatod a session ID értéket Windows szálazonosítójával. Ezután a szál teljesítményét figyelheted a Windows Teljesítménymonitorban. A következő lekérdezés nem ad vissza információt alvó ülésekről.

SELECT STasks.session_id, SThreads.os_thread_id  
  FROM sys.dm_os_tasks AS STasks  
  INNER JOIN sys.dm_os_threads AS SThreads  
    ON STasks.worker_address = SThreads.worker_address  
  WHERE STasks.session_id IS NOT NULL  
  ORDER BY STasks.session_id;  
GO  

Lásd még

SQL Server operációs rendszerhez kapcsolódó dinamikus felügyeleti nézetek (Transact-SQL)
Szál- és feladatarchitektúra útmutató