sys.dm_tran_persistent_version_store_stats (Transact-SQL)
Gilt für: SQL Server 2019 (15.x) Azure SQL-Datenbank Azure SQL Managed Instance
Gibt Informationen zu PVS-Metriken (Persistent Version Store, beständiger Versionsspeicher) zur beschleunigten Datenbankwiederherstellung (Accelerated Database Recovery, ADR) zurück.
Zurückgegebene Tabelle
Spaltenname | Datentyp | Beschreibung |
---|---|---|
database_id | int | Die database_id dieser Zeile. In Azure SQL-Datenbank sind die Werte innerhalb einer einzelnen Datenbank oder eines Pools für elastische Datenbanken eindeutig, aber nicht innerhalb eines logischen Servers. |
pvs_filegroup_id | smallint | Die Dateigruppe, die den PVS-Versionsspeicher hostet. |
persistent_version_store_size_kb | bigint | Die PVS-Größe in KB. Dieser Wert wird verwendet, um den aktuell von der PVS verwendeten Speicherplatz zu bestimmen. |
online_index_version_store_size_kb | bigint | Die Größe des speziellen Versionsspeichers in Kilobyte, die während der Onlineindexerstellung verwendet wird. |
current_aborted_transaction_count | bigint | Die Anzahl der Abbruchtransaktionen in der Datenbank. Details der Abbruchtransaktionen können in sys.dm_tran_aborted_transactions angezeigt werden. |
oldest_active_transaction_id | bigint | Die Transaktions-ID der ältesten aktiven Transaktion. |
oldest_aborted_transaction_id | bigint | Die Transaktions-ID der ältesten abgebrochenen Transaktion. Wenn der PVS-Reiniger die abgebrochene Transaktion nicht entfernen kann, spiegelt dieser Wert den ältesten Wert wider. |
min_transaction_timestamp | bigint | Der minimale sinnvolle Zeitstempel im System aus Momentaufnahmenscans. |
online_index_min_transaction_timestamp | bigint | Der minimale sinnvolle Zeitstempel im System, um die PVS-Bereinigung zu verzögern. Dies entspricht online_index_version_store_size_kb . |
secondary_low_water_mark | bigint | Der für Abfragen lesbarer sekundärer Replikate aggregierte untere Grenzwert. Es handelt sich um eine Transaktions-ID und kann zum Vergleichen mit oldest_active_transaction_id und oldest_aborted_transaction_id verwendet werden. |
offrow_version_cleaner_start_time | datetime2(7) | Die Startzeit des PVS-Bereinigungsprozesses außerhalb der Zeile. |
offrow_version_cleaner_end_time | datetime2(7) | Die letzte Endzeit des PVS-Bereinigungsprozesses außerhalb der Zeile. |
aborted_version_cleaner_start_time | datetime2(7) | Der Startzeitstempel eines vollständigen Aufräumens. |
aborted_version_cleaner_end_time | datetime2(7) | Der Endzeitstempel des letzten vollständigen Aufräumens. Wenn die Startzeit einen Wert hat, aber die Endzeit nicht, bedeutet dies, dass die PVS-Bereinigung in dieser Datenbank fortgesetzt wird. |
pvs_off_row_page_skipped_low_water_mark | bigint | Die Anzahl der wegen der Verzögerung durch sekundäre Leseabfragen zur Rückforderung übersprungenen Seiten. |
pvs_off_row_page_skipped_transaction_not_cleaned | bigint | Die Anzahl der wegen abgebrochener Transaktionen zur Rückforderung übersprungenen Seiten. Beachten Sie, dass dieser Wert nicht die PVS-Verzögerung durch abgebrochene Transaktionen widerspiegelt, da für die Versionsbereinigung bei abgebrochenen Transaktionsversionen ein minimaler Schwellenwert verwendet wird. Dies kann bei großem PVS-Umfang ignoriert werden. |
pvs_off_row_page_skipped_oldest_active_xdesid | bigint | Die Anzahl der wegen der ältesten aktiven Transaktion zur Rückforderung übersprungenen Seiten. |
pvs_off_row_page_skipped_min_useful_xts | bigint | Die Anzahl der wegen eines langen Momentaufnahmenscans zur Rückforderung übersprungenen Seiten. |
pvs_off_row_page_skipped_oldest_snapshot | bigint | Die Anzahl der aufgrund von Aktivitäten zu Online-Indexneuerstellung zur Rückforderung übersprungenen Seiten. Dies ist für die PVS-Nutzung nicht üblich. |
pvs_off_row_page_skipped_oldest_aborted_xdesid | bigint | Gilt für: SQL Server 2022 (16.x) und höher. Die Anzahl der wegen der ältesten abgebrochenen Transaktionen zur Rückforderung übersprungenen Seiten. Wenn die Versionsbereinigung langsam oder ungültig ist, spiegelt dies wider, wie viele Seiten für abgebrochene Transaktionen aufbewahrt werden müssen. |
Berechtigungen
Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE
-Berechtigung erforderlich.
Für die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos oder die Mitgliedschaft in der ##MS_ServerStateReader##
Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE
-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##
-Serverrolle erforderlich.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Hinweise
Überprüfen Sie bewährte Methoden für die beschleunigte Datenbankwiederherstellung. Wenn Ihr ADR PVS wächst, lesen Sie die Problembehandlung bei der beschleunigten Datenbankwiederherstellung.