Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt eine Zeile für jeden aktiven Task in der SQL Server-Instanz zurück.
Spaltenname |
Datentyp |
Beschreibung |
|---|---|---|
task_address |
varbinary(8) |
Speicheradresse des Objekts. |
task_state |
nvarchar(60) |
Der Status des Tasks. Die folgenden Werte sind möglich: PENDING: Warten auf einen Arbeitsthread. RUNNABLE: Ausführbar, doch wird auf das Eintreffen eines Quantums gewartet. RUNNING: Wird derzeit auf dem Zeitplanungsmodul ausgeführt. SUSPENDED: Verfügt über einen Arbeitsthread, wartet jedoch auf ein Ereignis. DONE: Abgeschlossen. SPINLOOP: In einem Spinlock festgehalten. |
context_switches_count |
int |
Anzahl der Kontextwechsel im Zeitplanungsmodul, die dieser Task abgeschlossen hat. |
pending_io_count |
int |
Anzahl der physischen E/A-Vorgänge, die dieser Task ausgeführt hat. |
pending_io_byte_count |
bigint |
Gesamtbytezahl der von diesem Task ausgeführten E/A-Vorgänge. |
pending_io_byte_average |
int |
Durchschnittliche Bytezahl der von diesem Task ausgeführten E/A-Vorgänge. |
scheduler_id |
int |
ID des übergeordneten Zeitplanungsmoduls. Dies ist ein Handle für die Zeitplanungsmodul-Informationen zu diesem Task. Weitere Informationen finden Sie unter sys.dm_os_schedulers (Transact-SQL). |
session_id |
smallint |
ID der Sitzung, die dem Task zugeordnet ist. |
exec_context_id |
int |
Die dem Task zugeordnete Ausführungskontext-ID. |
request_id |
int |
Die ID der Anforderung des Tasks. Weitere Informationen finden Sie unter sys.dm_exec_requests (Transact-SQL). |
worker_address |
varbinary(8) |
Speicheradresse des Arbeitsthreads, der den Task ausführt. NULL = Task wartet entweder darauf, dass ein Arbeitsthread ausgeführt werden kann, oder die Ausführung des Threads wurde soeben beendet. Weitere Informationen finden Sie unter sys.dm_os_workers (Transact-SQL). |
host_address |
varbinary(8) |
Speicheradresse des Hosts. 0 = Hosting wurde zum Erstellen des Tasks nicht verwendet. Dadurch kann der Host identifiziert werden, der zum Erstellen dieses Tasks verwendet wurde. Weitere Informationen finden Sie unter sys.dm_os_hosts (Transact-SQL). |
parent_task_address |
varbinary(8) |
Speicheradresse des Tasks, der dem Objekt übergeordnet ist. |
Berechtigung
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Beispiele
A.Überwachung paralleler Anforderungen
Für parallel ausgeführte Anforderungen werden mehrere Zeilen für die gleiche Kombination von (<session_id>, <request_id>) angezeigt. Verwenden Sie die folgende Abfrage, um die Konfigurieren der Serverkonfigurationsoption Max. Grad an Parallelität für alle aktiven Anforderungen zu finden.
Hinweis |
|---|
request_id ist innerhalb einer Sitzung eindeutig. |
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.Zuordnen von Sitzungs-IDs und Windows-Threads
Mithilfe der folgenden Abfrage lässt sich eine Sitzungs-ID einer Windows-Thread-ID zuordnen. Sie können die Leistung des Threads dann im Windows-Systemmonitor überwachen. Mit der folgenden Abfrage werden keine Informationen für ruhende Sitzungen (sleeping) zurückgegeben.
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
Siehe auch
Verweis
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)
Hinweis