Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar en virtuell tabell för sequence_number av transaktioner som är aktiva när varje snapshot-transaktion startar. Den information som denna vy återlämnar kan hjälpa dig att göra följande:
Hitta antalet aktuella snapshot-transaktioner.
Identifiera dataändringar som ignoreras av en viss snapshot-transaktion. För en transaktion som är aktiv när en snapshot-transaktion startar, ignoreras alla dataändringar av den transaktionen, även efter att transaktionen genomförts, av snapshot-transaktionen.
Till exempel, betrakta följande utdata från sys.dm_tran_transactions_snapshot:
transaction_sequence_num snapshot_id snapshot_sequence_num
------------------------ ----------- ---------------------
59 0 57
59 0 58
60 0 57
60 0 58
60 0 59
60 3 57
60 3 58
60 3 59
60 3 60
Kolumnen transaction_sequence_num identifierar transaktionssekvensnumret (XSN) för de aktuella ögonblickskopiska transaktionerna. Utdata visar två: 59 och 60. Kolumnen snapshot_sequence_num identifierar transaktionssekvensnumret för de transaktioner som är aktiva när varje snapshot-transaktion startar.
Resultatet visar att snapshot-transaktionen XSN-59 startar medan två aktiva transaktioner, XSN-57 och XSN-58, körs. Om XSN-57 eller XSN-58 gör dataändringar ignorerar XSN-59 ändringarna och använder radversionering för att upprätthålla en transaktionellt konsekvent vy av databasen.
Snapshot-transaktion XSN-60 ignorerar dataändringar gjorda av XSN-57 och XSN-58 samt XSN 59.
Tabell returnerad
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| transaction_sequence_num | bigint | Transaktionssekvensnummer (XSN) för en ögonblicksbildstransaktion. |
| snapshot_id | int | Snapshot-ID för varje Transact-SQL-sats startade under read-committed med radversionering. Detta värde används för att generera en transaktionellt konsistent vy av databasen som stöder varje fråga som körs under read-committed med radversionering. |
| snapshot_sequence_num | bigint | Transaktionssekvensnummer för en transaktion som var aktiv när snapshot-transaktionen startade. |
Permissions
På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Anmärkningar
När en snapshot-transaktion startar registrerar databasmotorn alla transaktioner som är aktiva vid den tidpunkten. sys.dm_tran_transactions_snapshot rapporterar denna information för alla för närvarande aktiva snapshot-transaktioner.
Varje transaktion identifieras av ett transaktionssekvensnummer som tilldelas när transaktionen börjar. Transaktioner startar när en BEGIN TRANSAKTION eller BEGIN WORK-sats exekveras. Dock tilldelar databasmotorn transaktionssekvensnumret med exekveringen av det första Transact-SQL-satsen som får tillgång till data efter BEGIN TRANSACTION- eller BEGIN WORK-satsen. Transaktionssekvensnumren ökar med ett.
Se även
Dynamiska hanteringsvyer och funktioner (Transact-SQL)
transaktionsrelaterade dynamiska hanteringsvyer och funktioner (Transact-SQL)