sys.dm_os_tasks (Transact-SQL)
örnek etkin olan her görev için bir satır döndürür SQL Server.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
task_address |
varbinary(8) |
Nesnenin bellek adresi. |
task_state |
nvarchar(60) |
Görev durumu.Bu, aşağıdakilerden biri olabilir: BEKLEMEDE: İşçi iş parçacığıiçin bekleniyor. RUNNABLE: Runnable, ancak kuantumalmak için bekliyor. ÇALIŞAN: Zamanlayıcı üzerinde çalışmakta. ASKIYA ALINAN: İşçi vardır, ancak bir olaybekliyor. BİTTİ: Tamamlandı. DÖNGÜSEL BEKLEMEYE NEDEN OLUYOR: Sayaç kilidi içinde kalmış. |
context_switches_count |
int |
Bu görev tamamlandı Zamanlayıcı içerik geçişi numarası. |
pending_io_count |
int |
Bu görev tarafından gerçekleştirilen fiziksel giriş çıkışları sayısı. |
pending_io_byte_count |
bigint |
Bu görev tarafından gerçekleştirilen giriş çıkışları toplam bayt sayısı. |
pending_io_byte_average |
int |
Bu görev tarafından gerçekleştirilen g/ç işlemleri ortalama bayt sayısı. |
scheduler_id |
int |
Üst Çizelgeleyici Kimliği.Bu Görev Zamanlayıcı bilgi için tanıtıcı budur.Daha fazla bilgi için, bkz. sys.dm_os_schedulers (Transact-SQL). |
session_id |
smallint |
Görevle ilişkilendirilmiş oturum kimliği. |
exec_context_id |
int |
Görevle ilişkili yürütme içerik kimliği. |
request_id |
int |
Görevin istek kimliği.Daha fazla bilgi için, bkz. sys.dm_exec_requests (Transact-SQL). |
worker_address |
varbinary(8) |
Görev alt bellek adresi. null = görev ya da işçi çalıştırmaları bekliyor veya görevin yalnızca çalışması bittikten. Daha fazla bilgi için, bkz. sys.dm_os_workers (Transact-SQL). |
host_address |
varbinary(8) |
Ana bellek adresi. 0 = Hosting görev oluşturmak için kullanılmadı.Bu, bu görevi oluşturmak için kullanılan ana tanımlamaya yardım eder. Daha fazla bilgi için, bkz. sys.dm_os_hosts (Transact-SQL). |
parent_task_address |
varbinary(8) |
Nesnenin üst görev bellek adresi. |
İzin
Sunucu üzerindeki görünüm server state izni gerektirir.
Örnekler
A.Paralel istekleri izleme
Paralel olarak yürütülen istekleri aynı birleşimi için birden çok satır görürsünüz (<session_id>, <request_id>).Bulmak için aşağıdaki sorgu kullanın derecesini tüm etkin istekleri.
Not
A request_id bir ' % s'oturumu oturumiçinde benzersizdir.
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.oturum kimlikleri Windows iş parçacığı ile ilişkilendirme
Bir oturum kimliği değerini bir Windows iş parçacığı kimliği ile ilişkilendirmek için aşağıdaki sorguyu kullanabilirsinizArdından, Windows Performans İzleyicisi'nde iş parçacığı performansını izleyebilirsiniz.Aşağıdaki sorgu, uyku oturumları için bilgi vermez.
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