OGGETTO Transactions di SQL Server
Si applica a: SQL Server
L'oggetto Transactions in Microsoft SQL Server fornisce contatori per monitorare il numero di transazioni attive in un'istanza del motore di database e gli effetti di tali transazioni sulle risorse, ad esempio l'archivio delle versioni delle righe di isolamento dello snapshot in tempdb
. Le transazioni sono unità logiche di lavoro. Per salvaguardare l'integrità logica dei dati, l'intero set di operazioni deve essere eseguito correttamente o cancellato da un database. Tutte le modifiche dei dati nei database di SQL Server vengono apportate nelle transazioni.
Quando un database è impostato per consentire il livello di isolamento dello snapshot, SQL Server deve mantenere un record delle modifiche apportate a ogni riga di un database. Ogni volta che viene modificata una riga, una copia della riga esistente prima che la modifica venga registrata in un archivio delle versioni di riga in tempdb
. Molti dei contatori nell'oggetto Transactions possono essere usati per monitorare le dimensioni e il tasso di crescita dell'archivio delle versioni di riga in tempdb
.
I contatori dell'oggetto Transactions segnalano tutte le transazioni in un'istanza del motore di database.
La tabella seguente descrive i contatori di SQLServer:Transactions .
Contatori dell'oggetto Transactions di SQL Server | Descrizione |
---|---|
Spazio disponibile in tempdb (KB) | Quantità di spazio ,espressa in kilobyte, disponibile in tempdb . Deve essere disponibile spazio sufficiente per contenere sia l'archivio delle versioni del livello di isolamento dello snapshot che tutti i nuovi oggetti temporanei creati in questa istanza del motore di database. |
Tempo massimo esecuzione transazione | Durata in secondi dall'inizio della transazione che è stata attiva più a lungo di tutte le altre transazioni correnti. Questo contatore mostra attività solo quando il database è nel livello di isolamento dello snapshot Read committed. Non registra attività se il database si trova in un altro livello di isolamento. |
Transazioni di versione non snapshot | Numero di transazioni attualmente attive che non usano il livello di isolamento dello snapshot e che hanno apportato modifiche ai dati che hanno generato versioni di riga nell'archivio tempdb versioni. |
Transazioni snapshot | Numero delle transazioni attualmente attive che utilizzano il livello di isolamento dello snapshot. Nota: il contatore dell'oggetto Transazioni snapshot risponde quando viene eseguito il primo accesso ai dati, non quando viene eseguita l'istruzione BEGIN TRANSACTION . |
Transazioni | Numero delle transazioni attualmente attive di tutti i tipi. |
Percentuale conflitti aggiornamento | Percentuale delle transazioni che utilizzano il livello di isolamento dello snapshot e hanno rilevato conflitti di aggiornamento nell'ultimo secondo. Un conflitto di aggiornamento si verifica quando una transazione del livello di isolamento dello snapshot tenta di modificare una riga modificata da un'altra transazione di cui non è stato eseguito il commit all'avvio della transazione del livello di isolamento dello snapshot. |
Base percentuale conflitti aggiornamento | Solo per uso interno. |
Transazioni snapshot di aggiornamento | Numero delle transazioni attualmente attive che utilizzano il livello di isolamento dello snapshot e che hanno apportato modifiche ai dati. |
Frequenza pulizia versioni (KB/s) | Frequenza (in kilobyte al secondo) in corrispondenza della quale le versioni di riga vengono rimosse dall'archivio delle versioni di isolamento dello snapshot in tempdb . |
Frequenza generazione versioni (KB/s) | Frequenza (in kilobyte al secondo) in corrispondenza della quale vengono aggiunte nuove versioni di riga all'archivio delle versioni di isolamento dello snapshot in tempdb . |
Dimensioni archivio versioni (KB) | Quantità di spazio (in kilobyte) in tempdb usata per archiviare le versioni di riga del livello di isolamento dello snapshot. |
Conteggio unità archivio versioni | Numero di unità di allocazione attive nell'archivio delle versioni di isolamento dello snapshot in tempdb . |
Creazione unità archivio versioni | Numero di unità di allocazione create nell'archivio di isolamento dello snapshot dall'avvio dell'istanza del motore di database. |
Troncamento unità archivio versioni | Numero di unità di allocazione rimosse dall'archivio di isolamento dello snapshot dall'avvio dell'istanza del motore di database. |
Esempio
Si inizia a esplorare i contatori delle prestazioni delle query in questo oggetto usando questa query T-SQL nella vista a gestione dinamica sys.dm_os_performance_counters :
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Transactions%';