sys.dm_os_tasks (Transact-SQL)
Devuelve una fila por cada tarea activa en la instancia de SQL Server.
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
task_address |
varbinary(8) |
Dirección de memoria del objeto. |
task_state |
nvarchar(60) |
Estado de la tarea. Puede ser uno de los siguientes: PENDING: esperando un subproceso de trabajo. RUNNABLE: se puede ejecutar, pero está esperando a recibir un cuanto. RUNNING: ejecutándose actualmente en el programador. SUSPENDED: tiene un trabajador, pero está esperando un evento. DONE: completado. SPINLOOP: atrapado en un subproceso. |
context_switches_count |
int |
Número de cambios de contexto del programador que esta tarea ha completado. |
pending_io_count |
int |
Número de entradas y salidas físicas realizadas por esta tarea. |
pending_io_byte_count |
bigint |
Recuento total de bytes de las entradas y salidas realizadas por esta tarea. |
pending_io_byte_average |
int |
Recuento promedio de bytes de las entradas y salidas realizadas por esta tarea. |
scheduler_id |
int |
Id. del programador primario. Es un identificador de la información del programador para esta tarea. Para obtener más información, vea sys.dm_os_schedulers (Transact-SQL). |
session_id |
smallint |
Id. de la sesión que está asociada a la tarea. |
exec_context_id |
int |
Id. del contexto de ejecución que está asociado a la tarea. |
request_id |
int |
Id. de la solicitud de la tarea. Para obtener más información, vea sys.dm_exec_requests (Transact-SQL). |
worker_address |
varbinary(8) |
Dirección de memoria del trabajador que ejecuta la tarea. NULL = La tarea espera un trabajador que pueda ejecutarla o la tarea acaba de finalizar la ejecución. Para obtener más información, vea sys.dm_os_workers (Transact-SQL). |
host_address |
varbinary(8) |
Dirección de memoria del host. 0 = No se ha usado el hospedaje para crear la tarea. Esto ayuda a identificar el host que se ha utilizado para crear esta tarea. Para obtener más información, vea sys.dm_os_hosts (Transact-SQL). |
parent_task_address |
varbinary(8) |
Dirección de memoria de la tarea que es el elemento primario del objeto. |
Permiso
Se necesita el permiso VIEW SERVER STATE en el servidor.
Ejemplos
A.Supervisar solicitudes paralelas
Para las solicitudes que se ejecutan en paralelo, verá varias filas para la misma combinación de (<session_id>, <request_id>). Use la consulta siguiente para conocer la Establecer la opción de configuración del servidor Grado máximo de paralelismo de todas las solicitudes activas.
[!NOTA]
El valor request_id es único en una sesión.
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.Asociar identificadores de sesión con subprocesos de Windows
Puede utilizar la siguiente consulta para asociar un valor de identificador de sesión a un identificador de subproceso de Windows. A continuación, puede supervisar el rendimiento del subproceso en el Monitor de rendimiento de Windows. La siguiente consulta no devuelve información para sesiones en espera.
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
Vea también
Referencia
Funciones y vistas de administración dinámica (Transact-SQL)
Vistas de administración dinámica relacionadas con el sistema operativo de SQL Server (Transact-SQL)