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