sys.dm_os_threads (Transact-SQL)
Devuelve una lista de todos los subprocesos del sistema operativo SQL Server que se están ejecutando en el proceso de SQL Server.
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
thread_address |
varbinary(8) |
Dirección de memoria (clave principal) del subproceso. |
started_by_sqlservr |
bit |
Indica el iniciador del subproceso. 1 = SQL Server inició el subproceso. 0 = Otro componente inició el subproceso como un procedimiento almacenado extendido desde SQL Server. |
os_thread_id |
int |
Id. del subproceso asignado por el sistema operativo. |
status |
int |
Marca del estado interno |
instruction_address |
varbinary(8) |
Dirección de la instrucción que se está ejecutando en ese momento. |
creation_time |
datetime |
Hora a la que se creó este subproceso. |
kernel_time |
bigint |
Tiempo del kernel consumido por este subproceso. |
usermode_time |
bigint |
Tiempo de usuario consumido por este subproceso. |
stack_base_address |
varbinary(8) |
Dirección de memoria de la dirección de pila más alta de este subproceso. |
stack_end_address |
varbinary(8) |
Dirección de memoria de la dirección de pila más baja de este subproceso. |
stack_bytes_committed |
int |
Número de bytes confirmados en la pila. |
stack_bytes_used |
int |
Número de bytes que se usan de forma activa en el subproceso. |
affinity |
bigint |
Máscara de CPU en la que se ejecuta este subproceso. Esto depende del valor configurado por la instrucción ALTER SERVER CONFIGURATION SET PROCESS AFFINITY. Podría ser diferente del programador en el caso de os nodos de que la afinidad no sea estricta. |
Priority |
int |
Valor de prioridad de este subproceso. |
Locale |
int |
LCID de la configuración regional en caché del subproceso. |
Token |
varbinary(8) |
Identificador del token de suplantación en caché del subproceso. |
is_impersonating |
int |
Indica si este subproceso usa suplantación de Win32. 1 = El subproceso usa credenciales de seguridad diferentes de las predeterminadas del proceso. Indica que el subproceso suplanta una entidad distinta de la que creó el proceso. |
is_waiting_on_loader_lock |
int |
Estado del sistema operativo que indica si el subproceso espera en el bloqueo de carga. |
fiber_data |
varbinary(8) |
Fibra actual de Win32 que se ejecuta en el subproceso. Esto solo se aplica cuando SQL Server está configurado para la agrupación ligera. |
thread_handle |
varbinary(8) |
Solo para uso interno. |
event_handle |
varbinary(8) |
Solo para uso interno. |
scheduler_address |
varbinary(8) |
Dirección de memoria del programador asociado con este subproceso. Para obtener más información, vea sys.dm_os_schedulers (Transact-SQL). |
worker_address |
varbinary(8) |
Dirección de memoria del trabajador enlazado a este subproceso. Para obtener más información, vea sys.dm_os_workers (Transact-SQL). |
fiber_context_address |
varbinary(8) |
Dirección de contexto de fibra interna. Esto solo se aplica cuando SQL Server está configurado para la agrupación ligera. |
self_address |
varbinary(8) |
Puntero de comprobaciones de coherencia. |
processor_group |
smallint |
Almacena el identificador de grupo de procesadores. |
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Ejemplos
Tras el inicio, SQL Server inicia subprocesos y después asocia trabajos a dichos subprocesos. No obstante, los componentes externos, como un procedimiento almacenado extendido, pueden iniciar subprocesos bajo el proceso de SQL Server. SQL Server no controla estos subprocesos. sys.dm_os_threads puede proporcionar información sobre subprocesos no autorizados que consumen recursos del proceso de SQL Server.
La siguiente consulta se utiliza para buscar subprocesos de trabajo, junto con el tiempo consumido en la ejecución, que ejecutan subprocesos no iniciados por SQL Server.
Nota
Por concisión, la siguiente consulta utiliza un asterisco (*) en la instrucción SELECT. Evite utilizar asteriscos, especialmente con vistas de catálogo, vistas de administración dinámica y funciones con valores de tabla del sistema. Puede que en las actualizaciones y versiones futuras de Microsoft SQL Server se agreguen columnas y se cambie su orden para estas vistas y funciones. Es posible que estos cambios provoquen errores en las aplicaciones que esperan un determinado orden y número de columnas.
SELECT *
FROM sys.dm_os_threads
WHERE started_by_sqlservr = 0;