Compartir a través de


sys.dm_tran_locks (Transact-SQL)

Devuelve información acerca de los recursos del administrador de bloqueos activos actualmente en SQL Server 2012. Cada fila representa una solicitud activa al administrador de bloqueos sobre un bloqueo que se ha concedido o está esperando a ser concedido.

Las columnas del conjunto de resultados se dividen en dos grupos principales: recurso y solicitud. El grupo sobre el recurso describe el recurso en que se ha solicitado realizar el bloqueo; el grupo sobre la solicitud describe la solicitud de bloqueo.

Nombre de columna

Tipo de datos

Descripción

resource_type

nvarchar(60)

Representa el tipo de recurso. El valor puede ser uno de los siguientes: DATABASE, FILE, OBJECT, PAGE, KEY, EXTENT, RID, APPLICATION, METADATA, HOBT o ALLOCATION_UNIT.

resource_subtype

nvarchar(60)

Representa un subtipo de resource_type. Adquirir un bloqueo de subtipo sin mantener un bloqueo sin subtipos del tipo primario es técnicamente válido. Los diferentes subtipos no entran en conflicto, ni entre sí, ni con el tipo primario sin subtipos. No todos los tipos de recurso tienen subtipos.

resource_database_id

int

Id. de la base de datos en la que se centra este recurso. Todos los recursos manejados por el administrador de bloqueos tienen como ámbito el Id. de la base de datos.

resource_description

nvarchar(256)

Descripción del recurso que solo contiene información que no está disponible en otras columnas de recurso.

resource_associated_entity_id

bigint

Id. de la entidad en una base de datos a la que se asocia un recurso. Puede ser un Id. de objeto, de Hobt o de unidad de asignación, dependiendo del tipo de recurso.

resource_lock_partition

Int

Id. de la partición de bloqueo para un recurso de bloqueo dividido. El valor para recursos de bloqueo sin particiones es 0.

request_mode

nvarchar(60)

Modo de la solicitud. En el caso de solicitudes concedidas, se trata del modo concedido; en el caso de solicitudes en espera, se trata del modo que se está solicitando.

request_type

nvarchar(60)

Tipo de solicitud. El valor es LOCK.

request_status

nvarchar(60)

Estado actual de esta solicitud. Los valores posibles son GRANTED, CONVERT o WAIT.

request_reference_count

smallint

Devuelve un número aproximado de veces que el mismo solicitante ha requerido este recurso.

request_lifetime

int

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

request_session_id

int

Id. de la sesión que actualmente posee esta solicitud. El Id. de esta sesión puede cambiar en el caso de transacciones distribuidas y enlazadas. Un valor -2 indica que la solicitud pertenece a una transacción distribuida huérfana. El valor -3 indica que la solicitud pertenece a una transacción de recuperación diferida; por ejemplo, una transacción para la que se ha diferido la reversión en la recuperación porque esta reversión no se ha podido terminar correctamente.

request_exec_context_id

int

Id. del contexto de ejecución del proceso que posee actualmente esta solicitud.

request_request_id

int

Id. de solicitud (Id. de lote) del proceso que posee actualmente esta solicitud. Este valor cambiará cada vez que cambie la conexión activa del conjunto de resultados activos múltiples (MARS) para una transacción.

request_owner_type

nvarchar(60)

Tipo de entidad que posee la solicitud. Las solicitudes del administrador de bloqueos pueden ser propiedad de varios tipos de entidades. Los valores posibles son:

TRANSACTION = La solicitud es propiedad de una transacción.

CURSOR = La solicitud es propiedad de un cursor.

SESSION = La solicitud es propiedad de una sesión de usuario.

SHARED_TRANSACTION_WORKSPACE = La solicitud es propiedad de la parte compartida del área de trabajo de la transacción.

EXCLUSIVE_TRANSACTION_WORKSPACE = La solicitud es propiedad de la parte exclusiva del área de trabajo de la transacción.

NOTIFICATION_OBJECT = La solicitud es propiedad de un componente interno de SQL Server. Este componente ha solicitado al administrador de bloqueos que le notifique cuándo otro componente está a la espera del bloqueo. La característica FileTable es un componente que utiliza este valor.

[!NOTA]

Las áreas de trabajo se utilizan internamente con el fin de mantener bloqueos para sesiones dadas de alta.

request_owner_id

bigint

Identificador del propietario específico de esta solicitud.

Si una transacción es la propietaria de la solicitud, este valor contiene el identificador de transacción

Cuando un objeto FileTable es el propietario de la solicitud, request_owner_id tiene uno de los valores siguientes:

Valor

Descripción

-4

Un objeto FileTable ha tomado un bloqueo de base de datos.

-3

Un objeto FileTable ha tomado un bloqueo de tabla.

Otro valor

El valor representa un identificador de archivos. Este valor también aparece como fcb_id en la vista de administración dinámica sys.dm_filestream_non_transacted_handles (Transact-SQL).

request_owner_guid

uniqueidentifier

GUID del propietario específico de esta solicitud. Este valor solo se utiliza en una transacción distribuida cuando el valor corresponde al GUID del servicio MS DTC para esa transacción.

request_owner_lockspace_id

nvarchar(32)

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. Este valor representa el Id. del espacio de bloqueo del solicitante. El Id. del espacio de bloqueo determina si dos solicitantes son compatibles entre sí y si pueden tener bloqueos en modos que, de otra forma, entrarían en conflicto entre sí.

lock_owner_address

varbinary(8)

Dirección de memoria de la estructura de datos interna utilizada para realizar el seguimiento de esta solicitud. Esta columna puede combinarse con la columna resource_address de sys.dm_os_waiting_tasks.

Permisos

Requiere el permiso VIEW SERVER STATE en el servidor.

Comentarios

Un estado de solicitud Granted indica que se ha concedido el bloqueo sobre un recurso al solicitante. Una solicitud en espera indica que la solicitud aún no se ha concedido. La columna request_status devuelve los siguientes tipos de solicitud en espera:

  • Un estado de solicitud Convert indica que el solicitante ya tiene concedida una solicitud para un recurso y está esperando la concesión de una actualización a la solicitud inicial.

  • Un estado de solicitud Wait indica que el solicitante no tiene concedida actualmente ninguna solicitud sobre el recurso.

Dado que sys.dm_tran_locks se llena a partir de las estructuras de datos internas del administrador de bloqueos, mantener esta información no agrega una carga extra al procesamiento normal. Materializar la vista requiere acceso a las estructuras de datos internas del administrador de bloqueos. Esto puede tener consecuencias menores en el procesamiento normal en el servidor. Puede que no perciba estas consecuencias o que solo afecten a los recursos con un alto grado de utilización. Como los datos de esta vista corresponden al estado activo del administrador de bloqueos, estos se pueden cambiar en cualquier momento; además, las filas se agregan y quitan según se van adquiriendo y liberando bloqueos. Esta vista no tiene información histórica.

Dos solicitudes funcionan en el mismo recurso solamente si todas las columnas del grupo de recursos son iguales.

Puede controlar el bloqueo de operaciones de lectura mediante las siguientes herramientas:

  • SET TRANSACTION ISOLATION LEVEL para especificar el nivel de bloqueo de una sesión. Para obtener más información, vea SET TRANSACTION ISOLATION LEVEL (Transact-SQL).

  • Sugerencias de bloqueo de tablas para especificar el nivel de bloqueo para una referencia individual de una tabla en una cláusula FROM. Para obtener información sobre sintaxis y restricciones, vea Sugerencias de tabla (Transact-SQL).

Un recurso que se ejecuta con un Id. de sesión puede tener más de un bloqueo concedido. Distintas entidades ejecutándose en una sesión pueden tener cada una su propio bloqueo en el mismo recurso; la información se muestra en las columnas request_owner_type y request_owner_id devueltas por sys.dm_tran_locks. Si existen varias instancias del mismo tipo request_owner_type, se utiliza la columna request_owner_id para distinguirlas. En el caso de transacciones distribuidas, las columnas request_owner_type y request_owner_guid mostrarán información de las distintas entidades.

Por ejemplo, la sesión S1 mantiene un bloqueo compartido en Table1 y la transacción T1, que se está ejecutando en la sesión S1, también mantiene un bloqueo compartido en Table1. En este caso, la columna resource_description devuelta por sys.dm_tran_locks mostrará dos instancias del mismo recurso. La columna request_owner_type mostrará una de las instancias como una sesión y la otra como una transacción. Asimismo, la columna resource_owner_id tendrá valores diferentes.

No es posible distinguir varios cursores que se ejecutan en una misma sesión y, por tanto, se tratan como una sola entidad.

Las transacciones distribuidas que no están asociadas a un valor de identificador de sesión son transacciones huérfanas y tienen asignado el valor de identificador de sesión -2. Para obtener más información, vea KILL (Transact-SQL).

Detalles del recurso

En la tabla siguiente se muestran los recursos representados en la columna resource_associated_entity_id.

Tipo de recurso

Descripción del recurso

Resource_associated_entity_id

DATABASE

Representa una base de datos.

No aplicable

FILE

Representa un archivo de la base de datos. Este archivo puede ser un archivo de datos o de registro.

No aplicable

OBJECT

Representa un objeto de la base de datos. Este objeto puede ser una tabla de datos, una vista, un procedimiento almacenado, un procedimiento almacenado extendido o cualquier objeto que tenga un Id. de objeto.

Id. de objeto

PAGE

Representa una página de un archivo de datos.

Identificador de HoBt. Este valor corresponde a sys.partitions.hobt_id. El identificador de HoBt no está siempre disponible para recursos PAGE, ya que es información adicional que puede proporcionar el autor de la llamada y no todos los autores de llamadas pueden proporcionar esta información.

KEY

Representa una fila en un índice.

Identificador de HoBt. Este valor corresponde a sys.partitions.hobt_id.

EXTENT

Representa la extensión de un archivo de datos. Una extensión es un grupo de ocho páginas contiguas.

No aplicable

RID

Representa una fila física en un montón.

Identificador de HoBt. Este valor corresponde a sys.partitions.hobt_id. El identificador de HoBt no está siempre disponible para recursos RID, ya que es información adicional que puede proporcionar el autor de la llamada y no todos los autores de llamadas pueden proporcionar esta información.

APPLICATION

Representa un recurso específico de aplicación.

No aplicable

METADATA

Representa información de metadatos.

No aplicable

HOBT

Representa un montón o un árbol b. Se trata de las estructuras de ruta de acceso básicas.

Identificador de HoBt. Este valor corresponde a sys.partitions.hobt_id.

ALLOCATION_UNIT

Representa un conjunto de páginas relacionadas, por ejemplo, una partición de índice. Cada unidad de asignación cubre una única cadena del Mapa de asignación de índices (IAM).

Identificador de unidad de asignación. Este valor corresponde a sys.allocation_units.allocation_unit_id.

En la tabla siguiente se muestran los subtipos asociados a cada tipo de recurso.

Subtipo de recurso

Sincronizaciones

ALLOCATION_UNIT.BULK_OPERATION_PAGE

Las páginas preasignadas usadas para operaciones masivas.

ALLOCATION_UNIT.PAGE_COUNT

Estadísticas de recuentos de páginas de unidades de asignación durante operaciones de eliminación diferida.

DATABASE.BULKOP_BACKUP_DB

Copias de seguridad de base de datos con operaciones masivas.

DATABASE.BULKOP_BACKUP_LOG

Copias de seguridad de registros de base de datos con operaciones masivas.

DATABASE.CHANGE_TRACKING_CLEANUP

Tareas de limpieza de seguimiento de cambios.

DATABASE.CT_DDL

Operaciones DDL de seguimiento de cambios de nivel de tabla y base de datos.

DATABASE.CONVERSATION_PRIORITY

Operaciones de prioridad de conversación de Service Broker como CREATE BROKER PRIORITY.

DATABASE.DDL

Operaciones del Lenguaje de definición de datos (DDL) con operaciones de grupo de archivos, como la eliminación.

DATABASE.ENCRYPTION_SCAN

Sincronización de cifrado de TDE.

DATABASE.PLANGUIDE

Sincronización de la guía de plan.

DATABASE.RESOURCE_GOVERNOR_DDL

Operaciones DDL para las operaciones de gobernador de recursos como ALTER RESOURCE POOL.

DATABASE.SHRINK

Operaciones de reducción de la base de datos.

DATABASE.STARTUP

Se usa para la sincronización de inicios de bases de datos.

FILE.SHRINK

Operaciones de reducción de archivos.

HOBT.BULK_OPERATION

Operaciones de carga masiva optimizadas para montones con recorrido simultáneo bajo estos niveles de aislamiento: instantánea, lectura no confirmada y lectura confirmada con versiones de fila.

HOBT.INDEX_REORGANIZE

Operaciones de reorganización del montón o el índice.

OBJECT.COMPILE

Compilación de procedimiento almacenado.

OBJECT.INDEX_OPERATION

Operaciones de índice.

OBJECT.UPDSTATS

Actualizaciones de estadísticas en una tabla.

METADATA.ASSEMBLY

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_CLR_NAME

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_TOKEN

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASYMMETRIC_KEY

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT_ACTIONS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT_SPECIFICATION

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AVAILABILITY_GROUP

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CERTIFICATE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CHILD_INSTANCE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.COMPRESSED_FRAGMENT

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.COMPRESSED_ROWSET

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_RECV

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_SEND

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_GROUP

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_PRIORITY

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CREDENTIAL

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CRYPTOGRAPHIC_PROVIDER

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATA_SPACE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE_PRINCIPAL

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_SESSION

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_WITNESS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_PRINCIPAL_SID

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT_WEBMETHOD

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.EXPR_COLUMN

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.EXPR_HASH

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_CATALOG

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_INDEX

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_STOPLIST

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INDEX_EXTENSION_SCHEME

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INDEXSTATS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INSTANTIATED_TYPE_HASH

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.MESSAGE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.METADATA_CACHE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PARTITION_FUNCTION

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PASSWORD_POLICY

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PERMISSIONS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PLAN_GUIDE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PLAN_GUIDE_HASH

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PLAN_GUIDE_SCOPE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME_HASH

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.REMOTE_SERVICE_BINDING

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ROUTE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SCHEMA

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_CACHE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_DESCRIPTOR

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SEQUENCE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_EVENT_SESSIONS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_PRINCIPAL

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_BROKER_GUID

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_CONTRACT

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_MESSAGE_TYPE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.STATS

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SYMMETRIC_KEY

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.USER_TYPE

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COLLECTION

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COMPONENT

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_INDEX_QNAME

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

La tabla siguiente proporciona el formato de la columna resource_description para cada tipo de recurso.

Recurso

Formato

Descripción

DATABASE

No aplicable

El identificador de base de datos ya está disponible en la columna resource_database_id.

FILE

<file_id>

Id. del archivo representado por este recurso.

OBJECT

<object_id>

Id. del objeto representado por este recurso. Este objeto puede ser cualquier objeto mostrado en sys.objects, no solo una tabla.

PAGE

<file_id>:<page_in_file>

Representa el Id. de página y de archivo de la página representada por este recurso.

KEY

<hash_value>

Representa un hash de las columnas de clave de la fila representada por este recurso.

EXTENT

<file_id>:<page_in_files>

Representa el Id. de página y de archivo de la extensión representada por este recurso. El Id. de extensión es el mismo que el Id. de página correspondiente a la primera página de la extensión.

RID

<file_id>:<page_in_file>:<row_on_page>

Representa el Id. de página y de fila de la fila representada por este recurso. Tenga en cuenta que si el Id. del objeto asociado es 99, este recurso representa una de las ocho zonas de página mixta en la primera página IAM de una cadena IAM.

APPLICATION

<DbPrincipalId>:<hasta 32 caracteres>:(<hash_value>)

Representa el Id. de la entidad de seguridad de base de datos utilizada para asignar el ámbito de este recurso de bloqueo de aplicación. También se incluyen hasta 32 caracteres de la cadena del recurso correspondiente a este recurso de bloqueo de la aplicación. En determinados casos solo pueden mostrarse 2 caracteres porque la cadena completa ya no está disponible. Este comportamiento solo se produce en tiempo de recuperación de la base de datos para bloqueos de aplicaciones que se vuelven a adquirir como parte del proceso de recuperación. El valor hash representa un hash de la cadena de recurso completa correspondiente a este recurso de bloqueo de la aplicación.

HOBT

No aplicable

El Id. de HoBt se incluye como resource_associated_entity_id.

ALLOCATION_UNIT

No aplicable

El identificador de unidad de asignación se incluye como resource_associated_entity_id.

METADATA.ASSEMBLY

assembly_id = A

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_CLR_NAME

$qname_id = Q

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_TOKEN

assembly_id = A, $token_id

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASYMMETRIC_KEY

asymmetric_key_id = A

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT

audit_id = A

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT_ACTIONS

device_id = D, major_id = M

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AUDIT_SPECIFICATION

audit_specification_id = A

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.AVAILABILITY_GROUP

availability_group_id = A

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CERTIFICATE

certificate_id = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CHILD_INSTANCE

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.COMPRESSED_FRAGMENT

object_id = O , compressed_fragment_id = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.COMPRESSED_ROW

object_id = O

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_RECV

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_SEND

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_GROUP

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_PRIORITY

conversation_priority_id = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CREDENTIAL

credential_id = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CRYPTOGRAPHIC_PROVIDER

provider_id = P

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATA_SPACE

data_space_id = D

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE

database_id = D

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE_PRINCIPAL

principal_id = P

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_SESSION

database_id = D

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_WITNESS

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_PRINCIPAL_SID

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT

endpoint_id = E

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT_WEBMETHOD

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_CATALOG

fulltext_catalog_id = F

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_INDEX

object_id = O

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.EXPR_COLUMN

object_id = O, column_id = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.EXPR_HASH

object_id = O, $hash = H

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_CATALOG

fulltext_catalog_id = F

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_INDEX

object_id = O

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_STOPLIST

fulltext_stoplist_id = F

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INDEX_EXTENSION_SCHEME

index_extension_id = I

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INDEXSTATS

object_id = O, index_id o stats_id = I

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INSTANTIATED_TYPE_HASH

user_type_id = U, hash = H

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.MESSAGE

message_id = M

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.METADATA_CACHE

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PARTITION_FUNCTION

function_id = F

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PASSWORD_POLICY

principal_id = P

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PERMISSIONS

class = C

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PLAN_GUIDE

plan_guide_id = P

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA. PLAN_GUIDE_HASH

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA. PLAN_GUIDE_SCOPE

scope_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME

$qname_id = Q

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME_HASH

$qname_scope_id = Q, $qname_hash = H

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.REMOTE_SERVICE_BINDING

remote_service_binding_id = R

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ROUTE

route_id = R

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SCHEMA

schema_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_CACHE

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_DESCRIPTOR

sd_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SEQUENCE

$seq_type = S, object_id = O

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER

server_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_EVENT_SESSIONS

event_session_id = E

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_PRINCIPAL

principal_id = P

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE

service_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_BROKER_GUID

$hash = H1:H2:H3

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_CONTRACT

service_contract_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_MESSAGE_TYPE

message_type_id = M

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.STATS

object_id = O, stats_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SYMMETRIC_KEY

symmetric_key_id = S

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.USER_TYPE

user_type_id = U

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COLLECTION

xml_collection_id = X

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COMPONENT

xml_component_id = X

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_INDEX_QNAME

object_id = O, $qname_id = Q

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Ejemplos

A.Usar sys.dm_tran_locks con otras herramientas

En el ejemplo siguiente se trabaja con un escenario en el que una operación de actualización ha sido bloqueada por otra transacción. Para obtener información acerca de los recursos de bloqueo se puede usar sys.dm_tran_locks y otras herramientas.

USE tempdb;
GO

-- Create test table and index.
CREATE TABLE t_lock
    (
    c1 int, c2 int
    );
GO

CREATE INDEX t_lock_ci on t_lock(c1);
GO

-- Insert values into test table
INSERT INTO t_lock VALUES (1, 1);
INSERT INTO t_lock VALUES (2,2);
INSERT INTO t_lock VALUES (3,3);
INSERT INTO t_lock VALUES (4,4);
INSERT INTO t_lock VALUES (5,5);
INSERT INTO t_lock VALUES (6,6);
GO

-- Session 1
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

BEGIN TRAN
    SELECT c1
        FROM t_lock
        WITH(holdlock, rowlock);

-- Session 2
BEGIN TRAN
    UPDATE t_lock SET c1 = 10

La siguiente consulta mostrará información de bloqueo. El valor para <dbid> debe reemplazarse por el valor de database_id de sys.databases.

SELECT resource_type, resource_associated_entity_id,
    request_status, request_mode,request_session_id,
    resource_description 
    FROM sys.dm_tran_locks
    WHERE resource_database_id = <dbid>

La siguiente consulta devuelve información de objetos de la consulta anterior mediante resource_associated_entity_id. Esta consulta debe ejecutarse mientras se esté conectado a la base de datos que contiene el objeto.

SELECT object_name(object_id), *
    FROM sys.partitions
    WHERE hobt_id=<resource_associated_entity_id>

La siguiente consulta mostrará información de bloqueo.

SELECT 
        t1.resource_type,
        t1.resource_database_id,
        t1.resource_associated_entity_id,
        t1.request_mode,
        t1.request_session_id,
        t2.blocking_session_id
    FROM sys.dm_tran_locks as t1
    INNER JOIN sys.dm_os_waiting_tasks as t2
        ON t1.lock_owner_address = t2.resource_address;

Libere los recursos revirtiendo las transacciones.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

B.Vincular información de sesión a subprocesos del sistema operativo

En el ejemplo siguiente se devuelve información que asocia un identificador de sesión con un identificador de subproceso de Windows. El rendimiento del subproceso puede supervisarse en el Monitor de rendimiento de Windows. Esta consulta no devuelve ningún Id. de sesión que esté actualmente inactiva.

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

sys.dm_tran_database_transactions (Transact-SQL)

Funciones y vistas de administración dinámica (Transact-SQL)

Funciones y vistas de administración dinámica relacionadas con transacciones (Transact-SQL)