sys.dm_tran_current_snapshot (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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, salvo que sys.dm_tran_current_snapshot devuelve solo las transacciones activas para la transacción de instantánea actual.

Nota:

Para llamarlo desde Azure Synapse Analytics o Analytics Platform System (PDW), use el nombre sys.dm_pdw_nodes_tran_current_snapshot. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Sintaxis

  
sys.dm_tran_current_snapshot  

Tabla devuelta

Nombre de la columna Tipo de datos Descripción
transaction_sequence_num bigint Número de secuencia de la transacción activa.
pdw_node_id int Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

Identificador del nodo en el que se encuentra esta distribución.

Permisos

En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE.

En los objetivos de servicio de SQL Database Basic, S0 y S1, y para las bases de datos de grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador de Microsoft Entra o la pertenencia al rol de ##MS_ServerStateReader##servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR 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.

Consulte también

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