sys.dm_os_tasks (Transact-sql)
Örneği içinde 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ş parçacığı için bekleniyor. runnable: Çalıştırılabilir, ancak hisse almak için bekliyor. Koşu: Zamanlayıcı üzerinde çalışmakta. suspended: işçi var, ancak bir olayı beklenirken. YAPILIR: tamamlandı. Döngüsel: bir sayaç kilidi içinde sıkışmış. |
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 giriş çıkışları ortalama bayt sayısı. |
scheduler_id |
int |
Üst Zamanlayıcı Kımlığı. Bu Görev Zamanlayıcı bilgiyle ilgili tanıtıcı budur. Daha fazla bilgi için, bkz. sys.dm_os_schedulers (Transact-sql). |
session_id |
smallint |
Görevle ilişkilendirilmiş oturumun Kımlığı. |
exec_context_id |
int |
Görevle ilişkilendirilmiş yürütme içerik Kımlığı. |
request_id |
int |
Görevin istek Kımlığı. Daha fazla bilgi için, bkz. sys.dm_exec_requests (Transact-sql). |
worker_address |
varbinary(8) |
Görev çalıştıran alt bellek adresi. null = görev ya da işçi çalıştırmaları bekliyor veya görevi sadece çalışmasını bitirdi. 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ılan değildi. Bu, bu görevi oluşturmak için kullanılan ana tanımlanmasına yardımcı olur. 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 VIEW server state izni gerektirir.
Örnekler
A.Paralel istekleri izleme
Paralel olarak yürütülen istekleri için sen-ecek görmek aynı kombinasyonu için birden çok satır (<session_id>, <request_id>). Bulmak için aşağıdaki sorgu kullanın Parallelism ölçüde tüm etkin istekleri.
[!NOT]
A request_id bir oturum iç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;
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 Kımlığı değerini bir Windows iş parçacığı kimliği ile ilişkilendirmek için aşağıdaki sorguyu kullanabilirsiniz Ardından, Windows Performans İzleyicisi'nde iplik 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
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
Ayrıca bkz.
Başvuru
Dinamik yönetimi görünümler ve işlevler (Transact-sql)
SQL Server işletim sistemi ilgili dinamik yönetim görünümleri (Transact-sql)