Aracılığıyla paylaş


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