sys.dm_os_tasks
Actualizado: 14 de abril de 2006
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 bloqueo por bucle. |
context_switches_count |
int |
Número de modificadores contextuales 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. |
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. |
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. |
host_address |
varbinary(8) |
Dirección de memoria del host. 0 = No se ha usado el alojamiento 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. |
Permiso
Requiere el permiso VIEW SERVER STATE en el servidor.
Ejemplos
A. Supervisar solicitudes paralelas
Para solicitudes que se ejecutan en paralelo, verá varias filas para la misma combinación de (<session_id>, <request_id>). Utilice la siguiente consulta para conocer el grado 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 Id. de sesión a un Id. 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
Vistas de administración dinámica relacionadas con el sistema operativo SQL Server
Otros recursos
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
14 de abril de 2006 |
|
5 de diciembre de 2005 |
|