sys.dm_tran_current_snapshot (Transact-SQL)

Devuelve una tabla virtual que muestra todas las transacciones activas en el momento en que se inicia la transacción de instantáneas actual. Si la transacción actual no es una transacción de instantáneas, esta función no devuelve filas. sys.dm_tran_current_snapshot es similar a sys.dm_tran_transactions_snapshot, excepto en que sys.dm_tran_current_snapshot sólo devuelve las transacciones activas de la transacción de instantáneas actual.

Sintaxis

sys.dm_tran_current_snapshot

Tabla devuelta

Nombre de columna

Tipo de datos

Descripción

transaction_sequence_num

bigint

Número de secuencia de la transacción activa.

Permisos

Requiere el permiso VIEW SERVER STATE en el servidor.

Ejemplos

En el ejemplo siguiente se utiliza un escenario de prueba con cuatro transacciones simultáneas, identificadas con un número de secuencia de transacción (XSN), que se ejecutan en una base de datos con las opciones ALLOW_SNAPSHOT_ISOLATION y READ_COMMITTED_SNAPSHOT establecidas en ON. Se están ejecutando las siguientes transacciones:

  • XSN-57 es una operación de actualización con aislamiento serializable.

  • XSN-58 es igual que XSN-57.

  • XSN-59 es una operación de selección con aislamiento de instantáneas.

  • XSN-60 es igual que XSN-59.

La siguiente consulta se ejecuta en el ámbito de XSN-59.

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

El conjunto de resultados es el siguiente.

transaction_sequence_num
------------------------
57
58

Los resultados muestran que XSN-57 y XSN-58 estaban activas en el momento en que se inició la transacción de instantáneas XSN-59. Este resultado se conserva hasta que finaliza la transacción de instantáneas, incluso después de confirmar o revertir XSN-57 y XSN-58.

La misma consulta se ejecuta en el ámbito de XSN-60.

El conjunto de resultados es el siguiente.

transaction_sequence_num
------------------------
57
58
59

La salida de XSN-60 incluye las mismas transacciones que aparecen para XSN-59, pero también incluye XSN-59, que estaba activa cuando se inició XSN-60.