(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

sys.dm_db_stats_properties (Transact-SQL)

Gibt Statistikeigenschaften für das angegebene Datenbankobjekt (Tabelle oder indizierte Sicht) in der aktuellen SQL Server-Datenbank zurück.

Gilt für: SQL Server (SQL Server 2008 R2 Service Pack 2, SQL Server 2012 Service Pack 1 bis aktuelle Version).

sys.dm_db_stats_properties (object_id, stats_id)

object_id

ID des Objekts in der aktuellen Datenbank, für die Eigenschaften einer der enthaltenen 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.

Spaltenname

Datentyp

Beschreibung

object_id

int

ID des Objekts (Tabelle oder indizierte Sicht), für das die Eigenschaften des Statistikobjekts zurückgegeben werden sollen.

stats_id

int

Die ID des Statistikobjekts. Diese ist innerhalb der Tabelle oder indizierten Sicht eindeutig. Weitere Informationen finden Sie unter sys.stats (Transact-SQL).

last_updated

datetime2

Datum und Uhrzeit der letzten Aktualisierung des Statistikobjekts.

rows

bigint

Gesamtanzahl der Zeilen in der Tabelle oder indizierten Sicht 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.

sys.dm_db_stats_properties gibt unter folgenden Bedingungen ein leeres Rowset zurück:

  • object_id oder stats_id ist NULL.

  • Das angegebene Objekt wurde nicht gefunden bzw. entspricht keiner Tabelle bzw. keiner indizierten Sicht.

  • 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_stats_properties, wenn die Funktion übergreifend auf Zeilen in Sichten wie sys.objects und sys.stats angewendet wird.

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.

A.Zurückgeben aller Statistikeigenschaften für eine Tabelle

Im folgenden Beispiel werden die Eigenschaften aller Statistiken zurückgegeben, die für die TEST-Tabelle vorhanden sind.

SELECT
    sp.stats_id, name, filter_definition, last_updated, rows, rows_sampled, steps, unfiltered_rows, modification_counter 
FROM sys.stats AS stat 
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE stat.object_id = object_id('TEST');

B.Zurückgeben von Statistikeigenschaften für häufig geänderte Objekte

Im folgenden Beispiel werden alle Tabellen, indizierten Sichten und Statistiken, für die die führende Spalte seit dem letzten Statistikupdate mehr als tausend Mal geändert wurde, aus der aktuellen Datenbank zurückgegeben.

SELECT 
    obj.name, obj.object_id, stat.name, stat.stats_id, last_updated, modification_counter
FROM sys.objects AS obj 
JOIN sys.stats stat ON stat.object_id = obj.object_id
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE modification_counter > 1000;
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft