Compartir a través de


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;