sys.dm_exec_requests (Transact-SQL)

Devuelve información acerca de cada solicitud que se ejecute en SQL Server.

[!NOTA]

Para ejecutar código situado fuera de SQL Server (por ejemplo, en procedimientos almacenados extendidos y consultas distribuidas), se tiene que ejecutar un subproceso fuera del control del programador no preferente. Para hacerlo, un trabajador se cambia al modo preferente. Los valores de tiempo que devuelve esta vista de administración dinámica no incluyen el tiempo transcurrido en modo preferente.

Nombre de columna

Tipo de datos

Descripción

session_id

smallint

Identificador de la sesión con la que está relacionada esta solicitud. No acepta valores NULL.

request_id

int

Identificador de la solicitud. Es único en el contexto de la sesión. No acepta valores NULL.

start_time

datetime

Marca de tiempo de la llegada de la solicitud. No acepta valores NULL.

status

nvarchar(30)

Estado de la solicitud. Puede ser uno de los siguientes:

  • Background

  • Running

  • Runnable

  • Sleeping

  • Suspended

No acepta valores NULL.

command

nvarchar(16)

Identifica el tipo de comando actual que se está procesando. Los tipos de comandos comunes incluyen lo siguiente:

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

  • BACKUP LOG

  • BACKUP DB

  • DBCC

  • WAITFOR

El texto de la solicitud se puede recuperar mediante sys.dm_exec_sql_text con el correspondiente sql_handle para la solicitud. Los procesos internos del sistema establecen el comando según el tipo de tarea que realizan. Las tareas pueden incluir las siguientes:

  • LOCK MONITOR

  • CHECKPOINTLAZY

  • WRITER

No acepta valores NULL.

sql_handle

varbinary(64)

Asignación hash del texto SQL de la solicitud. No acepta valores NULL.

statement_start_offset

int

Número de caracteres en el lote o procedimiento almacenado que se está ejecutando actualmente en el que se inicia la instrucción que se está ejecutando actualmente. Se puede utilizar junto con la función de administración dinámica sql_handle, statement_end_offset y sys.dm_exec_sql_text para recuperar la instrucción de ejecución actual para la solicitud. Admite valores NULL.

statement_end_offset

int

Número de caracteres en el lote o procedimiento almacenado que se está ejecutando actualmente en el que finaliza la instrucción que se está ejecutando actualmente. Se puede utilizar junto con la función de administración dinámica sql_handle, statement_end_offset y sys.dm_exec_sql_text para recuperar la instrucción de ejecución actual para la solicitud. Admite valores NULL.

plan_handle

varbinary(64)

Asignación hash del plan para la ejecución SQL. Acepta valores NULL.

database_id

smallint

Identificador de la base de datos en la que se ejecuta la solicitud. No acepta valores NULL.

user_id

int

Identificador del usuario que envió la solicitud. No acepta valores NULL.

connection_id

uniqueidentifier

Identificador de la conexión a la que ha llegado la solicitud. Admite valores NULL.

blocking_session_id

smallint

Identificador de la sesión que bloquea la solicitud. Si esta columna es NULL, la solicitud no está bloqueada o la información de la sesión de bloqueo no está disponible (o no puede ser identificada).

-2 = El recurso de bloqueo es propiedad de una transacción distribuida huérfana.

-3 = El recurso de bloqueo es propiedad de una transacción de recuperación diferida.

-4 = No se pudo determinar el identificador de sesión del propietario del bloqueo temporal a causa de transiciones internas de estado de dicho bloqueo.

wait_type

nvarchar(60)

Si la solicitud está actualmente bloqueada, esta columna devuelve el tipo de espera. Admite valores NULL.

wait_time

int

Si la solicitud está actualmente bloqueada, esta columna devuelve la duración en milisegundos de la espera actual. No acepta valores NULL.

last_wait_type

nvarchar(60)

Si esta solicitud se ha bloqueado anteriormente, esta columna devuelve el tipo de la última espera. No acepta valores NULL.

wait_resource

nvarchar(256)

Si la solicitud está actualmente bloqueada, esta columna devuelve el recurso por el que está esperando la solicitud actualmente. No acepta valores NULL.

open_transaction_count

int

Número de transacciones abiertas para esta solicitud. No acepta valores NULL.

open_resultset_count

int

Número de conjuntos de resultados abiertos para esta solicitud. No acepta valores NULL.

transaction_id

bigint

Identificador de la transacción donde se ejecuta esta solicitud. No acepta valores NULL.

context_info

varbinary(128)

Valor CONTEXT_INFO de la sesión. Acepta valores NULL.

percent_complete

real

Porcentaje de trabajo completado en los siguientes comandos:

  • ALTER INDEX REORGANIZE

  • Opción AUTO_SHRINK con ALTER DATABASE

  • BACKUP DATABASE

  • CREATE INDEX

  • DBCC CHECKDB

  • DBCC CHECKFILEGROUP

  • DBCC CHECKTABLE

  • DBCC INDEXDEFRAG

  • DBCC SHRINKDATABASE

  • DBCC SHRINKFILE

  • KILL (Transact-SQL)

  • RESTORE DATABASE

  • UPDATE STATISTICS

No acepta valores NULL.

estimated_completion_time

bigint

Sólo para uso interno. No acepta valores NULL.

cpu_time

int

Tiempo de CPU en milisegundos utilizado por la solicitud. No acepta valores NULL.

total_elapsed_time

int

Tiempo total transcurrido en milisegundos desde que llegó la solicitud. No acepta valores NULL.

scheduler_id

int

Identificador del programador que programa esta solicitud. No acepta valores NULL.

task_address

varbinary(8)

Dirección de memoria asignada a la tarea asociada con esta solicitud. Admite valores NULL.

reads

bigint

Número de lecturas realizadas por esta solicitud. No acepta valores NULL.

writes

bigint

Número de escrituras realizadas por esta solicitud. No acepta valores NULL.

logical_reads

bigint

Número de lecturas lógicas realizadas por la solicitud. No acepta valores NULL.

text_size

int

Valor de TEXTSIZE para esta solicitud. No acepta valores NULL.

language

nvarchar(128)

Valor de idioma para esta solicitud. Acepta valores NULL.

date_format

nvarchar(3)

Valor de DATEFORMAT para esta solicitud. Acepta valores NULL.

date_first

smallint

Valor de DATEFIRST para esta solicitud. No acepta valores NULL.

quoted_identifier

bit

1 = El valor de QUOTED_IDENTIFIER es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

arithabort

bit

1 = El valor de ARITHABORT es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

ansi_null_dflt_on

bit

1 = El valor de ANSI_NULL_DFLT_ON es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

ansi_defaults

bit

1 = El valor de ANSI_DEFAULTS es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

ansi_warnings

bit

1 = El valor de ANSI_WARNINGS es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

ansi_padding

bit

1 = El valor de ANSI_PADDING es ON para la solicitud.

De lo contrario, es 0.

No acepta valores NULL.

ansi_nulls

bit

1 = El valor de ANSI_NULLS es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

concat_null_yields_null

bit

1 = El valor de CONCAT_NULL_YIELDS_NULL es ON para la solicitud. De lo contrario, es 0.

No acepta valores NULL.

transaction_isolation_level

smallint

Nivel de aislamiento con el que se creó la transacción para esta solicitud. No acepta valores NULL.

lock_timeout

int

Tiempo de espera de bloqueo en milisegundos para esta solicitud. No acepta valores NULL.

deadlock_priority

int

Valor de DEADLOCK_PRIORITY para la solicitud. No acepta valores NULL.

row_count

bigint

Número de filas que esta solicitud ha devuelto al cliente. No acepta valores NULL.

prev_error

int

Último error que se ha producido durante la ejecución de la solicitud. No acepta valores NULL.

nest_level

int

Nivel de anidamiento actual del código que se está ejecutando en la solicitud. No acepta valores NULL.

granted_query_memory

int

Número de páginas asignadas a la ejecución de una consulta en la solicitud. No acepta valores NULL.

executing_managed_code

bit

Indica si una solicitud concreta está ejecutando actualmente objetos CLR (Common Language Runtime), como rutinas, tipos y desencadenadores. Se establece para todo el tiempo que un objeto CLR está en la pila, incluso mientras se ejecuta Transact-SQL desde dentro de CLR. No acepta valores NULL.

group_id

int

Identificador del grupo de carga de trabajo al que pertenece esta consulta. No admite valores NULL.

query_hash

binary(8)

Valor hash binario que se calcula en la consulta y que se usa para identificar consultas con una lógica similar. Puede usar el hash de consulta para determinar el uso de recursos agregados para las consultas que solo se diferencian en los valores literales. Para obtener más información, vea Buscar y optimizar consultas similares utilizando hash del plan de consulta y de consulta.

query_plan_hash

binary(8)

Valor hash binario que se calcula en el plan de ejecución de consulta y que se usa para identificar planes de ejecución de consulta similares. Puede usar el hash del plan de consulta para buscar el costo acumulativo de las consultas con planes de ejecución similares. Para obtener más información, vea Buscar y optimizar consultas similares utilizando hash del plan de consulta y de consulta.

Permisos

Se requiere el permiso VIEW SERVER STATE en el servidor.

[!NOTA]

Si el usuario posee el permiso VIEW SERVER STATE en el servidor, el usuario verá todas las sesiones que se están ejecutando en la instancia de SQL Server; de lo contrario, el usuario solo verá la sesión actual.