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örevin durumu.Bu, aşağıdakilerden biri olabilir:

BEKLEYEN: Bir çalışan iş parçacığı için bekleniyor.

runnable: Runnable, ancak bir kuantum almayı bekliyor.

ÇALIŞAN: Şu anda üzerinde Çizelgeleyici çalışmıyor.

ASKIYA ALINDI: Işçi olsa da, bir olayı beklenirken.

BİTTİ: Tamamlandı.

DÖNGÜSEL: ' De bir sayaç kilidi kalmış.

context_switches_count

int

Bu görev tamamlandı Çizelgeleyici bağlam anahtarlarının sayısı.

pending_io_count

int

Bu görev tarafından gerçekleştirilen bir fiziksel g/Ç sayısı.

pending_io_byte_count

bigint

Bu görev tarafından gerçekleştirilen g/ç işlemleri 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 için Çizelgeleyici bilgilere bir tanıtıcı budur.Daha fazla bilgi için bkz:sys.dm_os_schedulers (Transact-SQL).

session_id

smallint

Görevle ilişkilendirilmiş olan oturumun 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örevin çalıştığı alt bellek adresi.

NULL görev = ya da işçi çalıştırmaları bekliyor veya görevin yalnızca çalışmasını bitirdi.

Daha fazla bilgi için bkz:sys.dm_os_workers (Transact-SQL).

host_address

varbinary(8)

Bellek ana adresi.

0 Hosting = görev oluşturmak için kullanılmadı.Bu durum, bu görevi oluşturmak için kullanılan ana tanımlamak yardımcı olur.

Daha fazla bilgi için bkz:sys.dm_os_hosts (Transact-SQL).

İzin

Sunucudaki SUNUCU DURUM VIEW iznine gerek duyar.

Örnekler

C.Paralel istekleri izleme

Paralel olarak yürütülen isteklerin (aynı birleşimi için birden çok satır görürsünüz.<session_id>, <request_id>).Bulmak için aşağıdaki sorguyu kullanmak parallelism derecesi tüm etkin istekleri.

Not

C request_id 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;

b.Oturum kimlikleri Windows iş parçacığı ile ilişkilendirme

Bir oturum KIMLIĞI değeri, bir Windows iş parçacığı KIMLIğI ile ilişkilendirmek için aşağıdaki sorguyu kullanabilirsiniz...Sonra Windows performans izleyicisi'nde iş parçacığı parçacığının performansını izleyebilirsiniz.Aşağıdaki sorgu bilgileri uyku oturumlarının döndürmez.

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