Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Minden dolgozónak egy sort ad vissza a rendszerben. További információért a dolgozókról lásd a Thread és Task Architecture útmutatót.
Megjegyzés:
Azure Synapse Analytics vagy Analytics Platform System (PDW) néven használjuk a sys.dm_pdw_nodes_os_workers 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 |
|---|---|---|
| munkavállaló_címe | varbinary(8) | A dolgozó emlékcíme. |
| állapot | int | Csak belső használatra. |
| is_preemptive | bit | 1 = A munkavállaló preemptív ütemezéssel működik. Bármely munkatárs, aki külső kódot futtat, preemptív ütemezéssel fut. |
| is_fiber | bit | 1 = A munkás könnyű csoportos rendszerrel fut. További információért lásd sp_configure (Transact-SQL). |
| is_sick | bit | 1 = A munkás elakad, amikor pörgős zárat próbál elérni. Ha ez a bit be van állítva, az egy gyakran elért objektum elleni vitaproblémára utalhat. |
| is_in_cc_exception | bit | 1 = A Worker jelenleg egy nem SQL Server kivételt kezel. |
| is_fatal_exception | bit | Meghatározza a munkavállaló halálos kivételt. |
| is_inside_catch | bit | 1 = A munkavállaló jelenleg egy kivételt kezel. |
| is_in_polling_io_completion_routine | bit | 1 = A dolgozó jelenleg egy I/O befejezési rutint futtat egy függőben lévő I/O számára. További információért lásd sys.dm_io_pending_io_requests (Transact-SQL). |
| context_switch_count | int | Hány ütemező kontextuskapcsoló működik, amelyeket ez a dolgozó végez. |
| pending_io_count | int | A fizikai I/O-k száma, amelyeket ez a munkás végez. |
| pending_io_byte_count | bigint | A dolgozó összes függőben lévő fizikai I/O-jának összes bájtszáma. |
| pending_io_byte_average | int | A fizikai I/O-k átlagos bájtszáma ennek a dolgozónak. |
| wait_started_ms_ticks | bigint | Az az idő, ms_ticks-ben, amikor ez a munkavállaló FELFÜGGESZTETT állapotba került. Ha ezt az értéket ms_ticks-ből kivonjuk sys.dm_os_sys_info-ben , akkor azt a milliszekundumokat hozzuk vissza, mennyi várakozással a munkás volt. |
| wait_resumed_ms_ticks | bigint | Az időpont, ms_ticks-ben, amikor ez a munkás belépett a RUNNABLE állapotba. Ha ezt az értéket ms_ticks-ből kivonjuk sys.dm_os_sys_info-ben , akkor azt adja vissza, hány milliszekundum a dolgozó volt a futtatható sorban. |
| task_bound_ms_ticks | bigint | Az adott időpont, ms_ticks egy feladat ehhez a munkáshoz van kötve. |
| worker_created_ms_ticks | bigint | Az időpont, ms_ticks amikor egy munkás létrejött. |
| exception_num | int | Az utolsó kivétel hibaszáma, amellyel ez a munkás találkozott. |
| exception_severity | int | Az utolsó kivétel súlyossága, amivel ez a munkás találkozott. |
| exception_address | varbinary(8) | A kódcím, ami kidobta a kivételt |
| affinitás | bigint | A munkás szál-affinitása. Megegyezik a szál affinitásával sys.dm_os_threads (Transact-SQL). |
| state | nvarchar(60) | Munkás állam. Az alábbi értékek egyike lehet: INIT = A dolgozó jelenleg inicializálódik. RUNNING = A Munkás jelenleg vagy nem prepresztíven, vagy preemptive módon működik. RUNNABLE = A dolgozó készen áll az ütemezőn futásra. FELFÜGGESZTETT = A munkavállaló jelenleg felfüggesztve van, várva egy eseményt, hogy jelet küldjön neki. |
| start_quantum | bigint | Az idő, milliszekundumokban, a jelenlegi munka kezdeténél. |
| end_quantum | bigint | Az idő, ezredmásodpercekben, ennek a munkásnak a jelenlegi futamidején vége. |
| last_wait_type | nvarchar(60) | Egyfajta utolsó várakozás. A várakozási típusok listájáért lásd sys.dm_os_wait_stats (Transact-SQL). |
| return_code | int | Vissza az utolsó várakozás értéke. Az alábbi értékek egyike lehet: 0 =SIKER 3 = HOLTHELYZET 4 = PREMATURE_WAKEUP 258 = IDŐKORLÁT |
| quantum_used | bigint | Csak belső használatra. |
| max_quantum | bigint | Csak belső használatra. |
| boost_count | int | Csak belső használatra. |
| tasks_processed_count | int | Hány feladatot dolgozott fel ez a dolgozó. |
| fiber_address | varbinary(8) | A munkatárshoz kapcsolódó szál memóriacíme. NULL = Az SQL Server nincs konfigurálva könnyű poolingra. |
| feladat cím | varbinary(8) | Az aktuális feladat memóriacíme. További információért lásd sys.dm_os_tasks (Transact-SQL). |
| memory_object_address | varbinary(8) | A munkaadó memóriaobjektum memóriacíme. További információért lásd sys.dm_os_memory_objects (Transact-SQL). |
| thread_address | varbinary(8) | A munkatárshoz tartozó szál memóriacíme. További információért lásd sys.dm_os_threads (Transact-SQL). |
| signal_worker_address | varbinary(8) | Az utolsó jelző által jelezett dolgozó memóriacíme. További információért lásd: sys.dm_os_workers. |
| scheduler_address | varbinary(8) | Az ütemező memóriacíme. További információért lásd sys.dm_os_schedulers (Transact-SQL). |
| processor_group | smallint | Tárolja a processzorcsoport-azonosítót, amely ehhez a szálhoz van rendelve. |
| 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ó. |
Megjegyzések
Ha a munka állapota FUT, és a dolgozó nem preempíven fut, akkor a dolgozó cím megegyezik sys.dm_os_schedulers active_worker_address-vel.
Amikor egy eseményre váró munkást jeleznek, a dolgozót a futtatható sor élére helyezik. Az SQL Server lehetővé teszi, hogy ez ezerszer egymás után megtörténjen, majd a munka a sor végére kerül. Egy dolgozót a sor végére helyezve bizonyos teljesítménybeli következményekkel jár.
Permissions
Az SQL Serveren VIEW SERVER STATE engedély szükséges.
SQL Database Premium Tiers-en az adatbázisban szükséges engedély VIEW DATABASE STATE . SQL Database Standard és Basic Tiers esetén szereptagságot vagy Azure Active Directory admin fiókot igényelServer Admin.
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
Az alábbi lekérdezéssel megtudhatod, mennyi ideje fut egy dolgozó felfüggesztett vagy FUTHATÓ állapotban.
SELECT
t1.session_id,
CONVERT(varchar(10), t1.status) AS status,
CONVERT(varchar(15), t1.command) AS command,
CONVERT(varchar(10), t2.state) AS worker_state,
w_suspended =
CASE t2.wait_started_ms_ticks
WHEN 0 THEN 0
ELSE
t3.ms_ticks - t2.wait_started_ms_ticks
END,
w_runnable =
CASE t2.wait_resumed_ms_ticks
WHEN 0 THEN 0
ELSE
t3.ms_ticks - t2.wait_resumed_ms_ticks
END
FROM sys.dm_exec_requests AS t1
INNER JOIN sys.dm_os_workers AS t2
ON t2.task_address = t1.task_address
CROSS JOIN sys.dm_os_sys_info AS t3
WHERE t1.scheduler_id IS NOT NULL;
Itt van az eredmények összessége.
session_id status command worker_state w_suspended w_runnable
---------- ---------- --------------- ------------ ----------- --------------------
4 background LAZY WRITER SUSPENDED 688 688
6 background LOCK MONITOR SUSPENDED 4657 4657
19 background BRKR TASK SUSPENDED 603820344 603820344
14 background BRKR EVENT HNDL SUSPENDED 63583641 63583641
51 running SELECT RUNNING 0 0
2 background RESOURCE MONITO RUNNING 0 603825954
3 background LAZY WRITER SUSPENDED 422 422
7 background SIGNAL HANDLER SUSPENDED 603820485 603820485
13 background TASK MANAGER SUSPENDED 603824704 603824704
18 background BRKR TASK SUSPENDED 603820407 603820407
9 background TRACE QUEUE TAS SUSPENDED 454 454
52 suspended SELECT SUSPENDED 35094 35094
1 background RESOURCE MONITO RUNNING 0 603825954
A kimenetben, amikor w_runnable és w_suspended egyenlőek, ez azt az időt jelenti, amikor a dolgozó FELFÜGGESZTETT állapotban van. Egyébként w_runnable azt az időt jelenti, amelyet a dolgozó a RUNNABLE állapotban tölt. A kimenetben a session 52 milliszekundumig 35,094 tartSUSPENDED.
Lásd még:
SQL Server operációs rendszerhez kapcsolódó dinamikus felügyeleti nézetek (Transact-SQL)
lekérdezésfeldolgozási architektúra útmutatója
Szál- és feladatarchitektúra útmutató