sys.dm_db_incremental_stats_properties (Transact-SQL)
Gilt für: SQL Server
Gibt Eigenschaften inkrementeller Statistiken für das angegebene Datenbankobjekt (Tabelle) in der aktuellen SQL Server-Datenbank zurück. Die Verwendung von sys.dm_db_incremental_stats_properties
(enthält eine Partitionsnummer) ähnelt der von sys.dm_db_stats_properties
, das für nicht inkrementelle Statistiken verwendet wird.
Diese Funktion wurde in SQL Server 2014 (12.x) Service Pack 2 und SQL Server 2016 (13.x) Service Pack 1 eingeführt.
Syntax
sys.dm_db_incremental_stats_properties (object_id, stats_id)
Argumente
object_id
ID des Objekts in der aktuellen Datenbank, für die Eigenschaften einer der enthaltenen inkrementellen Statistiken angefordert werden. object_id ist int.
stats_id
ID der Statistik für die angegebene object_id. Die Statistik-ID kann aus der dynamischen Verwaltungssicht sys.stats abgerufen werden. stats_id ist int.
Zurückgegebene Tabelle
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
object_id | int | ID des Objekts (Tabelle), für das die Eigenschaften des Statistikobjekts zurückgegeben werden sollen. |
stats_id | int | Die ID des Statistikobjekts. Ist eindeutig innerhalb der Tabelle. Weitere Informationen finden Sie unter sys.stats (Transact-SQL). |
partition_number | int | Nummer der Partition, die den Teil der Tabelle enthält. |
last_updated | datetime2 | Datum und Uhrzeit der letzten Aktualisierung des Statistikobjekts. Weitere Informationen finden Sie im Abschnitt Hinweise dieses Artikels. |
rows | bigint | Gesamtanzahl der Zeilen in der Tabelle zum Zeitpunkt der letzten Aktualisierung der Statistik. Wenn die Statistik gefiltert wird oder einem gefilterten Index entspricht, kann die Anzahl der Zeilen geringer als die Anzahl der Zeilen in der Tabelle sein. |
rows_sampled | bigint | Gesamtzahl der Zeilen, die für die statistischen Berechnungen in die Stichprobe aufgenommen wurden. |
steps | int | Anzahl der Schritte im Histogramm. Weitere Informationen finden Sie unter DBCC SHOW_STATISTICS (Transact-SQL). |
unfiltered_rows | bigint | Gesamtanzahl der Zeilen in der Tabelle vor dem Anwenden des Filterausdrucks (für gefilterte Statistiken). Wenn die Statistik nicht gefiltert ist, entspricht „unfiltered_rows“ dem in der rows-Spalte zurückgegebenen Wert. |
modification_counter | bigint | Gesamtanzahl der Änderungen für die führende Statistikspalte (auf der das Histogramm basiert) seit der letzten Aktualisierung der Statistik. Diese Spalte enthält keine Informationen für speicheroptimierte Tabellen. |
Hinweise
sys.dm_db_incremental_stats_properties
gibt unter den folgenden Bedingungen ein leeres Rowset zurück:
object_id
oderstats_id
ist NULL.- Das angegebene Objekt wurde nicht gefunden bzw. entspricht keiner Tabelle mit inkrementeller Statistik.
- Die angegebene Statistik-ID entspricht keiner vorhandenen Statistik für die angegebene Objekt-ID.
- Der aktuelle Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Anzeigen des Statistikobjekts.
Dieses Verhalten ermöglicht die sichere Verwendung von sys.dm_db_incremental_stats_properties
, wenn die Funktion übergreifend auf Zeilen in Sichten wie sys.objects
und sys.stats
angewendet wird. Diese Methode kann Eigenschaften für die Statistik zurückgeben, die den einzelnen Partitionen entsprechen. Verwenden Sie stattdessen „dm_db_stats_properties“, um die Eigenschaften für die zusammengeführten Statistiken für alle Partitionen kombiniert anzuzeigen.
Das Aktualisierungsdatum für die Statistiken befindet sich gemeinsam mit dem Histogramm und Dichtevektor nicht in den Metadaten, sondern im Statistik-Blobobjekt. Wenn keine Daten zum Generieren von Statistikdaten gelesen werden, wird das Statistik-BLOB nicht erstellt, das Datum ist nicht verfügbar, und die last_updated Spalte ist NULL. Dies ist der Fall bei gefilterten Statistiken oder neuen und leeren Tabellen, für die das Prädikat keine Zeilen zurückgibt.
Berechtigungen
Erfordert, dass der Benutzer über SELECT-Berechtigungen für Statistikspalten verfügt, Besitzer der Tabelle oder Mitglied der festen Serverrolle sysadmin
, der festen Datenbankrolle db_owner
oder der festen Datenbankrolle db_ddladmin
ist.
Beispiele
A. Einfaches Beispiel
Das folgende Beispiel gibt die Statistiken für die PartitionTable
-Tabelle zurück, die unter dem Thema Erstellen partitionierter Tabellen und Indizesbeschrieben wird.
SELECT * FROM sys.dm_db_incremental_stats_properties (object_id('PartitionTable'), 1);
Vorschläge zur zusätzlichen Nutzung finden Sie unter dm_db_stats_properties.
Weitere Informationen
DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
Objektbezogene dynamische Verwaltungssichten und -funktionen (Transact-SQL)
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
sys.dm_db_stats_properties
sys.dm_db_stats_histogram (Transact-SQL)