Freigeben über


sys.dm_tran_top_version_generators

Aktualisiert: 05. Dezember 2005

Gibt eine virtuelle Tabelle für die Objekte zurück, die die meisten Versionen im Versionsspeicher erzeugen. sys.dm_tran_top_version_generators gibt die längsten 256 aggregierten Datensatzlängen gruppiert nach database_id und rowset_id zurück. sys.dm_tran_top_version_generators ruft Daten durch Abfragen der virtuellen Tabelle dm_tran_version_store ab. Die Ausführung der sys.dm_tran_top_version_generators-Sicht ist ineffizient, da der Versionsspeicher abgefragt wird, der sehr groß sein kann. Die Verwendung dieser Funktion wird empfohlen, um die größten Consumer des Versionsspeichers zu suchen.

Syntax

sys.dm_tran_top_version_generators

Zurückgegebene Tabelle

Spaltenname Datentyp Beschreibung

database_id

int

Datenbank-ID.

rowset_id

bigint

Rowset-ID.

aggregated_record_length_in_bytes

int

Die Summe der Datensatzlängen für jedes Paar aus database_id und rowset_id pair im Versionsspeicher.

Hinweise

sys.dm_tran_top_version_generators muss möglicherweise viele Seiten lesen, da der gesamte Versionsspeicher gescannt wird. Daher kann durch die Ausführung von sys.dm_tran_top_version_generators die Leistung des Systems beeinträchtigt werden.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel wird ein Testszenario verwendet, bei dem vier gleichzeitige Transaktionen, die jeweils durch eine Transaktionssequenznummer (XSN) identifiziert sind, in einer Datenbank ausgeführt werden, für die die Optionen ALLOW_SNAPSHOT_ISOLATION und READ_COMMITTED_SNAPSHOT auf ON festgelegt sind. Die folgenden Transaktionen werden ausgeführt:

  • XSN-57 ist ein Aktualisierungsvorgang auf der serialisierbaren Isolationsstufe.
  • XSN-58 ist mit XSN-57 identisch.
  • XSN-59 ist ein Select-Vorgang auf der Snapshotisolationsstufe.
  • XSN-60 ist mit XSN-59 identisch.

Die folgende Abfrage wird ausgeführt.

SELECT
    database_id,
    rowset_id,
    aggregated_record_length_in_bytes
  FROM sys.dm_tran_top_version_generators;

Dies ist das Resultset.

database_id rowset_id            aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9           72057594038321152    87
9           72057594038386688    33

Die Ausgabe zeigt, dass alle Versionen von database_id``9 erstellt werden und dass die Versionen aus zwei Tabellen generiert werden.

Siehe auch

Verweis

Dynamische Verwaltungssichten und -funktionen
Dynamische Verwaltungssichten und Funktionen in Verbindung mit Transaktionen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version

Verlauf

05. Dezember 2005

Begriff

Definition

**Neuer Inhalt:**Beispiel hinzugefügt.