sys.dm_tran_locks

Devuelve información acerca de los recursos del administrador de bloqueos activos actualmente. 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(120)

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(120)

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(512)

Descripción del recurso que sólo 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(120)

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(120)

Tipo de solicitud. El valor es LOCK.

request_status

nvarchar(120)

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

Identificado para fines informativos solamente. 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(120)

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.

request_owner_id

bigint

Id. del propietario específico de esta solicitud. Este valor sólo se utiliza en transacciones para las que éste es el Id. de transacción.

request_owner_guid

uniqueidentifier

GUID del propietario específico de esta solicitud. Este valor sólo 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(64)

Identificado para fines informativos solamente. 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.

Notas

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 sólo 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.

[!NOTA] No es posible distinguir varios cursores que se ejecutan en una misma sesión y, por tanto, se tratan como una sola entidad. Para obtener más información acerca de los tipos de bloqueo utilizados por SQL Server Database Engine (Motor de base de datos de SQL Server), vea Bloquear el motor de base de datos.

Las transacciones distribuidas que no están asociadas a un valor de Id. de sesión son transacciones huérfanas y tienen asignado el valor de Id. 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.

Id. 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.

Id. 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.

Id. 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.

Id. 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).

Id. 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

DATABASE.BULKOP_BACKUP_DB

Copias de seguridad de base de datos con operaciones masivas.

DATABASE.BULKOP_BACKUP_LOG

Copias de seguridad del registro de base de datos con operaciones masivas.

DATABASE.DDL

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

DATABASE.STARTUP

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

TABLE.UPDSTATS

Actualizaciones de estadísticas en una tabla.

TABLE.COMPILE

Compilación de procedimiento almacenado.

TABLE.INDEX_OPERATION

Operaciones de índice.

HOBT.INDEX_REORGANIZE

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

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 filas.

ALLOCATION_UNIT.PAGE_COUNT

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

METADATA.INDEXSTATS

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.STATS

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COLLECTION

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SEQUENCE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_CLR_NAME

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_TOKEN

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PARTITION_FUNCTION

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATA_SPACE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.USER_TYPE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_PRINCIPAL_SID

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE_PRINCIPAL

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SCHEMA

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COMPONENT

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INSTANTIATED_TYPE_HASH

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_SESSION

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_CACHE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_WITNESS

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CREDENTIAL

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_DESCRIPTOR

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_BROKER_GUID

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_RECV

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_GROUP

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT_WEBMETHOD

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASYMMETRIC_KEY

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_CATALOG

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_INDEX

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_PRINCIPAL

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ROUTE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.MESSAGE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME_HASH

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_MESSAGE_TYPE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_SEND

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CERTIFICATE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SYMMETRIC_KEY

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_INDEX_QNAME

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_CONTRACT

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.REMOTE_SERVICE_BINDING

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.METADATA_CACHE

Identificado para fines informativos solamente. 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 Id. 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 sólo 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 sólo pueden mostrarse 2 caracteres porque la cadena completa ya no está disponible. Este comportamiento sólo 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 Id. de unidad de asignación se incluye como resource_associated_entity_id.

METADATA.SEQUENCE

$seq_type = S, object_id = O

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.STATS

object_id = O, stats_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SCHEMA

schema_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INDEXSTATS

object_id = O, index_id o stats_id = I

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE_PRINCIPAL

principal_id = P

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_PRINCIPAL_SID

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.USER_TYPE

user_type_id = U

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATA_SPACE

data_space_id = D

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PARTITION_FUNCTION

function_id = F

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.PARTITION_FUNCTION

function_id = F

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY

assembly_id = A

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_TOKEN

assembly_id = A, $token_id = T

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASSEMBLY_CLR_NAME

$qname_id = Q

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME

$qname_id = Q

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COLLECTION

xml_collection_id = X

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_COMPONENT

xml_component_id = X

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.QNAME_HASH

$qname_scope_id = Q, $qname_hash = H

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.XML_INDEX_QNAME

object_id = O, $qname_id = Q

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_MESSAGE_TYPE

message_type_id = M

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_CONTRACT

service_contract_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE

service_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.REMOTE_SERVICE_BINDING

remote_service_binding_id = R

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ROUTE

route_id = R

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_INDEX

object_id = O

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.FULLTEXT_CATALOG

fulltext_catalog_id = F

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_GROUP

conversation_group_id = C

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_SEND

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CONVERSATION_ENDPOINT_RECV

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SYMMETRIC_KEY

symmetric_key_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CERTIFICATE

certificate_id = C

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ASYMMETRIC_KEY

asymmetric_key_id = A

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DATABASE

database_id = D

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.MESSAGE

message_id = M

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER_PRINCIPAL

principal_id = P

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVER

server_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT

endpoint_id = E

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.ENDPOINT_WEBMETHOD

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_SESSION

database_id = D

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.DB_MIRRORING_WITNESS

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_BROKER_GUID

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SERVICE_BROKER_GUID

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.CREDENTIAL

credential_id = C

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.INSTANTIATED_TYPE_HASH

user_type_id = U, hash = H1

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_DESCRIPTOR

sd_id = S

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.SECURITY_CACHE

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

METADATA.METADATA_CACHE

$hash = H1:H2:H3

Identificado para fines informativos solamente. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Ejemplos

A. Usar sys.dm_tran_locks con otras herramientas

En el ejemplo de código 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 Id. de sesión a un Id. de subproceso de Windows. El rendimiento del subproceso se puede supervisar 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
Funciones y vistas de administración dinámica
Funciones y vistas de administración dinámica relacionadas con transacciones

Ayuda e información

Obtener ayuda sobre SQL Server 2005