SQL Server, Transaktionsobjekt

Gäller för:SQL Server

Objektet Transactions i Microsoft SQL Server tillhandahåller räknare för att övervaka antalet transaktioner aktiva i en instans av Database Engine, och effekterna av dessa transaktioner på resurser såsom snapshot isolation radversionslagring i tempdb. Transaktioner är logiska arbetsenheter; en uppsättning operationer som antingen alla måste lyckas eller alla raderas från en databas för att upprätthålla datans logiska integritet. Alla ändringar av data i SQL Server-databaser sker i transaktioner.

När en databas är inställd på att tillåta snapshot-isoleringsnivå måste SQL Server föra en logg över de ändringar som gjorts i varje rad i en databas. Varje gång en rad ändras lagras en kopia av raden som den fanns före ändringen i en radversion i tempdb. Många av räknarna i Transaktionsobjektet kan användas för att övervaka storleken och tillväxttakten för radversionslagret i tempdb.

Objekträknarna Transactions rapporterar alla transaktioner i en instans av Database Engine.

Denna tabell beskriver SQLServer:Transactions-räknarna .

SQL Server Transaktionsräknare Description
Ledigt utrymme i tempdb (KB) Mängden utrymme (i kilobyte) tillgängligt i tempdb. Det måste finnas tillräckligt med ledigt utrymme för att lagra både snapshot isolation level version store och alla nya temporära objekt som skapats i denna instans av Database Engine.
Längsta transaktionskörningstid Den tid (i sekunder) sedan transaktionens början har varit aktiv längre än någon annan aktuell transaktion. Denna räknare visar endast aktivitet när databasen är under read committed snapshot isolation-nivå. Den loggar ingen aktivitet om databasen befinner sig på någon annan isoleringsnivå.
Icke-Snapshot versionstransaktioner Antalet för närvarande aktiva transaktioner som inte använder snapshot isolation level och har gjort dataändringar som genererat radversioner i versionslagret tempdb .
Ögonblickskopiska transaktioner Antalet för närvarande aktiva transaktioner med hjälp av snapshot-isoleringsnivån.

Observera: Objekträknaren Snapshot Transactions svarar när den första dataåtkomsten sker, inte när uttalandet BEGIN TRANSACTION utfärdas.
Transactions Antalet för närvarande aktiva transaktioner av alla slag.
Uppdateringskonfliktkvot Andelen av dessa transaktioner som använder snapshot-isoleringsnivån och som har stött på uppdateringskonflikter inom sista sekunden. En uppdateringskonflikt uppstår när en snapshot-isolationsnivåtransaktion försöker ändra en rad som senast ändrats av en annan transaktion som inte genomfördes när snapshot-isolationsnivåtransaktionen startade.
Uppdatera konfliktkvotbasen Endast för internt bruk.
Uppdateringsögonblickstransaktioner Antalet för närvarande aktiva transaktioner använder snapshot-isoleringsnivån och har ändrad data.
Versionsrensningshastighet (KB/s) Den hastighet (i kilobyte per sekund) med vilken radversioner tas bort från snapshot-isoleringsversionen lagras i tempdb.
Versionsgenereringshastighet (KB/s) Hastigheten (i kilobyte per sekund) med vilken nya radversioner läggs till i snapshot-isoleringsversionen lagras i tempdb.
Versionsbutiksstorlek (KB) Mängden utrymme (i kilobyte) tempdb som används för att lagra radversioner på snapshot-isoleringsnivå.
Version Antal enheter Lagra Antalet aktiva allokeringsenheter i snapshot-isoleringsversionen lagras i tempdb.
Versionsbutiksskapande Antalet allokeringsenheter som har skapats i snapshot isolation-lagret sedan instansen av Database Engine startades.
Versionsförkortning av enhetsenheter Antalet allokeringsenheter som har tagits bort från snapshot-isoleringslagringen sedan instansen av Database Engine startades.

Example

Du börjar utforska frågeprestandaräknare i det här objektet med hjälp av den här T-SQL-frågan i sys.dm_os_performance_counters dynamisk hanteringsvy:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Transactions%';