Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrátí jeden řádek pro každou aktivní úlohu v instanci SQL Serveru. Úloha je základní jednotkou vykonávání v SQL Serveru. Příklady úkolů zahrnují dotaz, přihlášení, odhlášení a systémové úkoly jako je aktivita čištění duchů, aktivita kontrolních bodů, zápis logu, paralelní opakování. Pro více informací o úkolech viz Průvodce vláknem a architekturou úloh.
Poznámka:
Pro volání z Azure Synapse Analytics nebo Analytics Platform System (PDW) použijte název sys.dm_pdw_nodes_os_tasks. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
| Název sloupce | Datový typ | Description |
|---|---|---|
| task_address | varbinary(8) | Paměťová adresa objektu. |
| task_state | nvarchar(60) | Stav úkolu. Může to být jedna z následujících možností: ČEKÁ NA ČTENÍ: Čekám na vlákno pro pracovníky. RUNNABLE: Runnable, ale čeká na přijetí kvantového data. BĚŽÍ: Momentálně běží na plánovači. SUSPENDOVÁNO: Má pracovníka, ale čeká na událost. HOTOVO: Hotovo. SPINLOOP: Uvízl jsem v spinlocku. |
| context_switches_count | int | Počet kontextových přepnutí plánovače, které tato úloha dokončila. |
| pending_io_count | int | Počet fyzických I/O procesů, které tato úloha vykonává. |
| pending_io_byte_count | bigint | Celkový počet bajtů I/O prováděných touto úlohou. |
| pending_io_byte_average | int | Průměrný počet bajtů I/O operací prováděných touto úlohou. |
| scheduler_id | int | ID rodičovského plánovače. Toto je přezdívka k informacím plánovače pro tento úkol. Pro více informací viz sys.dm_os_schedulers (Transact-SQL). |
| session_id | smallint | ID relace, která je přiřazena k úkolu. |
| exec_context_id | int | ID kontextu vykonání přiřazené k úkolu. |
| request_id | int | ID požadavku na úkol. Další informace najdete v tématu sys.dm_exec_requests (Transact-SQL). |
| worker_address | varbinary(8) | Paměťová adresa pracovníka, který úkol spouští. NULL = Úkol buď čeká, až bude pracovník schopen spuštění, nebo právě dokončil spuštění. Pro více informací viz sys.dm_os_workers (Transact-SQL). |
| host_address | varbinary(8) | Paměťová adresa hostitele. 0 = K vytvoření úkolu nebyl použit hosting. To pomáhá identifikovat hostitele, který byl použit k vytvoření tohoto úkolu. Pro více informací viz sys.dm_os_hosts (Transact-SQL). |
| parent_task_address | varbinary(8) | Paměťová adresa úkolu, který je rodičem objektu. |
| pdw_node_id | int |
platí pro: Azure Synapse Analytics, Analytics Platform System (PDW) Identifikátor uzlu, na který je tato distribuce zapnutá. |
Povolení
Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.
U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.
Examples
A. Monitorování paralelních požadavků
U požadavků vykonávaných paralelně uvidíte více řádků pro stejnou kombinaci (<session_id>, <request_id>). Použijte následující dotaz k nalezení možnosti konfigurace serveru Konfigurovat maximální stupeň paralelizmu pro všechny aktivní požadavky.
Poznámka:
request_id je v rámci sezení jedinečný.
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. Přiřazení ID relací s vlákny Windows
Následující dotaz můžete použít k přiřazení hodnoty ID relace k ID vlákna Windows. Výkon vlákna pak můžete sledovat ve Windows Performance Monitoru. Následující dotaz nevrací informace o relacích, které jsou ve spánku.
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
Viz také
Zobrazení dynamické správy související s operačním systémem SQL Server (Transact-SQL)
Průvodce architekturou vláken a úloh