sys.dm_db_xtp_checkpoint_stats (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Gibt Statistiken zu den In-Memory OLTP-Prüfpunktvorgängen in der aktuellen Datenbank zurück. Wenn die Datenbank keine OLTP-Objekte im Arbeitsspeicher enthält, sys.dm_db_xtp_checkpoint_stats
wird ein leeres Resultset zurückgegeben.
Weitere Informationen finden Sie unter In-Memory OLTP (Speicheroptimierung).
USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;
SQL Server 2014 (12.x) unterscheidet sich erheblich von neueren Versionen und wird separat behandelt.
In der folgenden Tabelle werden die Spalten in sys.dm_db_xtp_checkpoint_stats
, für SQL Server 2016 (13.x) und höhere Versionen beschrieben.
Spaltenname | type | Beschreibung |
---|---|---|
last_lsn_processed |
bigint | Letzte vom Controller angezeigte LSN. |
end_of_log_lsn |
numerisch(38) | Der LSN des Protokollendes. |
bytes_to_end_of_log |
bigint | Protokollieren Sie Bytes, die vom Controller unverarbeitet werden, entsprechend den Bytes zwischen last_lsn_processed und end_of_log_lsn . |
log_consumption_rate |
bigint | Rate der Transaktionsprotokollnutzung durch den Controller (in KB/s). |
active_scan_time_in_ms |
bigint | Die vom Controller aufgewendete Zeit, um das Transaktionsprotokoll aktiv zu scannen. |
total_wait_time_in_ms |
bigint | Kumulierte Wartezeit für den Controller, während das Protokoll nicht gescannt wird. |
waits_for_io |
bigint | Die Anzahl der Wartezeiten für das protokollierte E/A des Controllerthreads. |
io_wait_time_in_ms |
bigint | Kumulierte Zeit, die beim Warten auf die Protokoll-E/A durch den Controllerthread aufgewendet wurde. |
waits_for_new_log_count |
bigint | Die Anzahl der Wartezeiten, die vom Controllerthread anfallen, damit ein neues Protokoll generiert wird. |
new_log_wait_time_in_ms |
bigint | Kumulierte Zeit für das Warten auf ein neues Protokoll durch den Controllerthread. |
idle_attempts_count |
bigint | Häufigkeit, mit der der Controller in einen Leerlaufzustand wechselt. |
tx_segments_dispatched |
bigint | Anzahl der Segmente, die vom Controller gesehen und an die Serialisierer verteilt wurden. Segment ist ein zusammenhängender Teil des Protokolls, der eine Serialisierungseinheit bildet. Sie ist derzeit auf 1 MB angepasst, kann sich aber in Zukunft ändern. |
segment_bytes_dispatched |
bigint | Die Gesamtanzahl der Byte, die vom Controller an Serialisierer verteilt wurden, seit dem Neustart der Datenbank. |
bytes_serialized |
bigint | Die Gesamtzahl der Bytes, die seit dem Neustart der Datenbank serialisiert wurden. |
serializer_user_time_in_ms |
bigint | Zeitaufwand für Serialisierer im Benutzermodus. |
serializer_kernel_time_in_ms |
bigint | Zeitaufwand für Serialisierer im Kernelmodus. |
xtp_log_bytes_consumed |
bigint | Die Gesamtanzahl der seit dem Neustart der Datenbank verbrauchten Protokollbytes. |
checkpoints_closed |
bigint | Anzahl der Prüfpunkte, die seit dem Neustart der Datenbank geschlossen wurden. |
last_closed_checkpoint_ts |
bigint | Zeitstempel des letzten geschlossenen Prüfpunkts. |
hardened_recovery_lsn |
numerisch(38) | Die Wiederherstellung beginnt mit diesem LSN. |
hardened_root_file_guid |
uniqueidentifier | GUID der Stammdatei, die als Ergebnis des letzten abgeschlossenen Prüfpunkts gehärtet wurde. |
hardened_root_file_watermark |
bigint | Nur intern. Gibt an, wie weit es gültig ist, um die Stammdatei bis zu lesen (dies ist nur ein intern relevanter Typ - als BSN bezeichnet). |
hardened_truncation_lsn |
numerisch(38) | LSN des Abkürzungspunkts. |
log_bytes_since_last_close |
bigint | Bytes vom letzten Ende bis zum aktuellen Protokollende. |
time_since_last_close_in_ms |
bigint | Zeit seit dem letzten Schließen des Prüfpunkts. |
current_checkpoint_id |
bigint | Derzeit werden diesem Prüfpunkt neue Segmente zugewiesen. Das Prüfpunktsystem ist eine Pipeline. Der aktuelle Prüfpunkt ist das, dem Segmente aus dem Protokoll zugewiesen werden. Sobald sie einen Grenzwert erreicht hat, gibt der Controller den Prüfpunkt frei, und ein neuer Prüfpunkt, der als aktuell erstellt wurde. |
current_checkpoint_segment_count |
bigint | Anzahl der Segmente im aktuellen Prüfpunkt. |
recovery_lsn_candidate |
bigint | Nur intern. Kandidat, der beim current_checkpoint_id Schließen als Wiederherstellungslsn ausgewählt werden soll. |
outstanding_checkpoint_count |
bigint | Die Anzahl der Prüfpunkte in der Pipeline, die auf das Schließen warten. |
closing_checkpoint_id |
bigint | ID des Abschlussprüfpunkts. Serialisierer arbeiten parallel, sodass der Prüfpunkt nach Abschluss des Prüfpunkts ein Kandidat für das Schließen durch schließenden Thread ist. Der schließende Thread kann jedoch jeweils nur einzeln geschlossen werden, und er muss in der Reihenfolge liegen, sodass der Abschlussprüfpunkt der Schließthread ist, an dem der schließende Thread arbeitet. |
recovery_checkpoint_id |
bigint | ID des Prüfpunkts, der in der Wiederherstellung verwendet werden soll. |
recovery_checkpoint_ts |
bigint | Zeitstempel des Wiederherstellungsprüfpunkts. |
bootstrap_recovery_lsn |
numerisch(38) | Wiederherstellungs-LSN für den Bootstrap. |
bootstrap_root_file_guid |
uniqueidentifier | GUID der Stammdatei für den Bootstrap. |
internal_error_code |
bigint | Fehler, der von einem der Controller-, Serialisierer-, Schließen- und Zusammenführungsthreads angezeigt wird. |
bytes_of_large_data_serialized |
bigint | Gibt die Datenmenge an, die serialisiert wurde. |
db_in_checkpoint_only_mode |
bit | True, wenn sich die Datenbank im reinen OLTP-Prüfpunktmodus im Arbeitsspeicher befindet. Gilt für: SQL Server 2022 (16.x) und höhere Versionen. |
Berechtigungen
SQL Server 2019 (15.x) und frühere Versionen erfordern VIEW DATABASE STATE
berechtigungen für die Datenbank.
SQL Server 2022 (16.x) und höhere Versionen erfordern VIEW DATABASE PERFORMANCE STATE
die Berechtigung für die Datenbank.
Zugehöriger Inhalt
- Einführung in speicheroptimierte Tabellen
- Speicheroptimierte Tabellen-Dynamische Verwaltungsansichten (Transact-SQL)
- In-Memory OLTP –Übersicht und Nutzungsszenarien
- Optimieren der Leistung mithilfe von In-Memory-Technologien in Azure SQL-Datenbank
- Optimieren der Leistung mithilfe von In-Memory-Technologien in Azure SQL verwaltete Instanz