SQL Server, Transaktionen (Objekt)
Gilt für: SQL Server
Das Transactions-Objekt in Microsoft SQL Server stellt Leistungsindikatoren bereit, um die Anzahl der Transaktionen zu überwachen, die in einer Instanz des Datenbank-Engine aktiv sind, und die Auswirkungen dieser Transaktionen auf Ressourcen wie den Versionsspeicher der Snapshotisolationszeile in tempdb
. Transaktionen sind logische Arbeitseinheiten - eine Reihe von Vorgängen, die entweder alle erfolgreich ausgeführt oder aber komplett aus einer Datenbank gelöscht werden müssen, damit die logische Integrität der Daten beibehalten werden kann. Alle Änderungen von Daten in SQL Server-Datenbanken werden in Transaktionen vorgenommen.
Wenn eine Datenbank so festgelegt ist, dass die Momentaufnahmeisolationsstufe zulässig ist, muss SQL Server einen Datensatz der Änderungen verwalten, die an jeder Zeile in einer Datenbank vorgenommen wurden. Jedes Mal, wenn eine Zeile geändert wird, wird eine Kopie der Zeile wie vorhanden, bevor die Änderung in einem Zeilenversionsspeicher in tempdb
einem Zeilenversionsspeicher aufgezeichnet wird. Viele der Leistungsindikatoren im Transaktionen-Objekt können zum Überwachen der Größe und Wachstumsrate des Zeilenversionsspeichers in tempdb
verwendet werden.
Die Transaktionsobjektzähler melden alle Transaktionen in einer Instanz des Datenbank-Engine.
In dieser Tabelle werden die SQLServer:Transaktionen -Leistungsindikatoren beschrieben.
Transaktionsleistungsindikatoren von SQL Server | Beschreibung |
---|---|
Freier Speicherplatz in tempdb (KB) | Die Menge an Speicherplatz (in Kilobyte) in tempdb . Es muss genügend freier Speicherplatz vorhanden sein, um sowohl den Versionsspeicher der Snapshotisolationsstufe als auch alle neuen temporären Objekte zu speichern, die in dieser Instanz des Datenbank-Engine erstellt wurden. |
Längste Transaktionsausführungszeit | Die verstrichene Zeit (in Sekunden) seit dem Start der Transaktion, die länger aktiv war als alle anderen aktuellen Transaktionen. Dieser Leistungsindikator zeigt nur Aktivität an, wenn die Datenbank unter der READ_COMMITTED_SNAPSHOT-Isolationsstufe ausgeführt wird. Es werden keine Aktivitäten protokolliert, wenn die Datenbank eine andere Isolationsstufe aufweist. |
NonSnapshot-Versionstransaktionen | Die Anzahl der derzeit aktiven Transaktionen, die keine Snapshotisolationsstufe verwenden und Datenänderungen vorgenommen haben, die Zeilenversionen im tempdb Versionsspeicher generiert haben. |
Momentaufnahmetransaktionen | Die Anzahl aktuell aktiver Transaktionen, die die Momentaufnahmeisolationsstufe verwenden. Hinweis: Der Momentaufnahmetransaktionen -Objektleistungsindikator reagiert, wenn der erste Datenzugriff auftritt, nicht wenn die BEGIN TRANSACTION -Anweisung ausgegeben wird. |
Transaktionen | Die Anzahl aktuell aktiver Transaktionen aller Typen. |
Updatekonfliktquote | Der Prozentsatz derjenigen Transaktionen, die die Momentaufnahmeisolationsstufe verwenden und bei denen innerhalb der letzten Sekunde Updatekonflikte aufgetreten sind. Ein Updatekonflikt tritt auf, wenn von einer Momentaufnahmeisolationsstufen-Transaktion der Versuch unternommen wird, eine Zeile zu ändern, die zuletzt von einer anderen Transaktion geändert wurde, für die kein Commit ausgeführt worden ist, als die Momentaufnahmeisolationsstufen-Transaktion gestartet wurde. |
Basis der Updatekonfliktquote | Nur zur internen Verwendung. |
Update-Momentaufnahmetransaktionen | Die Anzahl aktuell aktiver Transaktionen, von denen die Momentaufnahmeisolationsstufe verwendet wird und Daten geändert wurden. |
Versionscleanuprate (KB/s) | Die Rate (in Kilobyte pro Sekunde), mit der Zeilenversionen aus dem Snapshotisolationsversionsspeicher entfernt werden.tempdb |
Versionsgenerierungsrate (KB/s) | Die Rate (in Kilobyte pro Sekunde), mit der neue Zeilenversionen dem Speicher der Snapshotisolationsversion hinzugefügt tempdb werden. |
Versionsspeichergröße (KB) | Der Speicherplatz (in Kilobyte), der tempdb zum Speichern von Zeilenversionen auf Snapshotisolationsebene verwendet wird. |
Anzahl der Versionsspeichereinheiten | Die Anzahl der aktiven Zuordnungseinheiten im Speicher der Snapshotisolationsversion in tempdb . |
Erstellung von Versionsspeichereinheiten | Die Anzahl der Zuordnungseinheiten, die seit dem Start der Instanz des Datenbank-Engine im Snapshotisolationsspeicher erstellt wurden. |
Abschneiden von Versionsspeichereinheiten | Die Anzahl der Zuordnungseinheiten, die seit dem Start der Instanz des Datenbank-Engine aus dem Snapshotisolationsspeicher entfernt wurden. |
Beispiel
Sie beginnen damit, die Abfrageleistungsindikatoren in diesem Objekt mithilfe dieser T-SQL-Abfrage in der dynamischen Verwaltungssicht sys.dm_os_performance_counters zu untersuchen:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Transactions%';