sys.dm_db_stats_properties (Transact-SQL)sys.dm_db_stats_properties (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL DatabaseAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database

Gibt Statistikeigenschaften für das angegebene Datenbankobjekt (Tabelle oder indizierte Sicht) in der aktuellen SQL ServerSQL Server-Datenbank zurück.Returns properties of statistics for the specified database object (table or indexed view) in the current SQL ServerSQL Server database. Informationen zu partitionierten Tabellen finden Sie in der ähnlichen sys. dm_db_incremental_stats_properties.For partitioned tables, see the similar sys.dm_db_incremental_stats_properties.

SyntaxSyntax

sys.dm_db_stats_properties (object_id, stats_id)  

ArgumenteArguments

object_idobject_id
ID des Objekts in der aktuellen Datenbank, für die Eigenschaften einer der enthaltenen Statistiken angefordert werden.Is the ID of the object in the current database for which properties of one of its statistics is requested. object_id ist vom Datentyp int.object_id is int.

stats_idstats_id
ID der Statistik für die angegebene object_id.Is the ID of statistics for the specified object_id. Die Statistik-ID kann aus der dynamischen Verwaltungssicht sys.stats abgerufen werden.The statistics ID can be obtained from the sys.stats dynamic management view. stats_id ist int.stats_id is int.

Zurückgegebene TabelleTable Returned

SpaltennameColumn name DatentypData type BESCHREIBUNGDescription
object_idobject_id intint ID des Objekts (Tabelle oder indizierte Sicht), für das die Eigenschaften des Statistikobjekts zurückgegeben werden sollen.ID of the object (table or indexed view) for which to return the properties of the statistics object.
stats_idstats_id intint Die ID des Statistikobjekts.ID of the statistics object. Diese ist innerhalb der Tabelle oder indizierten Sicht eindeutig.Is unique within the table or indexed view. Weitere Informationen finden Sie unter sys.stats (Transact-SQL).For more information, see sys.stats (Transact-SQL).
last_updatedlast_updated datetime2datetime2 Datum und Uhrzeit der letzten Aktualisierung des Statistikobjekts.Date and time the statistics object was last updated. Weitere Informationen finden Sie im Abschnitt Hinweise dieses Artikels.For more information, see the Remarks section in this page.
rowsrows bigintbigint Gesamtanzahl der Zeilen in der Tabelle oder indizierten Sicht zum Zeitpunkt der letzten Aktualisierung der Statistik.Total number of rows in the table or indexed view when statistics were last updated. 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.If the statistics are filtered or correspond to a filtered index, the number of rows might be less than the number of rows in the table.
rows_sampledrows_sampled bigintbigint Gesamtzahl der Zeilen, die für die statistischen Berechnungen in die Stichprobe aufgenommen wurden.Total number of rows sampled for statistics calculations.
stepssteps intint Anzahl der Schritte im Histogramm.Number of steps in the histogram. Weitere Informationen finden Sie unter DBCC SHOW_STATISTICS (Transact-SQL).For more information, see DBCC SHOW_STATISTICS (Transact-SQL).
unfiltered_rowsunfiltered_rows bigintbigint Gesamtanzahl der Zeilen in der Tabelle vor dem Anwenden des Filterausdrucks (für gefilterte Statistiken).Total number of rows in the table before applying the filter expression (for filtered statistics). Wenn die Statistik nicht gefiltert ist, entspricht „unfiltered_rows“ dem in der rows-Spalte zurückgegebenen Wert.If statistics are not filtered, unfiltered_rows is equal to the value returns in the rows column.
modification_countermodification_counter bigintbigint Gesamtanzahl der Änderungen für die führende Statistikspalte (auf der das Histogramm basiert) seit der letzten Aktualisierung der Statistik.Total number of modifications for the leading statistics column (the column on which the histogram is built) since the last time statistics were updated.

Speicher optimierte Tabellen: das Starten SQL Server 2016 (13.x)SQL Server 2016 (13.x) und in Azure SQL-DatenbankAzure SQL Database dieser Spalte enthält: Gesamtzahl der Änderungen für die Tabelle seit der letzten Aktualisierung der Statistik oder der Neuerstellung der Datenbank.Memory-optimized tables: starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) and in Azure SQL-DatenbankAzure SQL Database this column contains: total number of modifications for the table since the last time statistics were updated or the database was restarted.
persisted_sample_percentpersisted_sample_percent floatfloat Der persistierte Prozentwert für die Stichprobe wird für Aktualisierungen von Statistiken verwendet, die keinen expliziten Prozentwert für die Stichprobenentnahme angibt.Persisted sample percentage used for statistic updates that do not explicitly specify a sampling percentage. Wenn der Wert 0 (null) ist, wird kein persistierter Prozentwert für diese Statistik festgelegt.If value is zero, then no persisted sample percentage is set for this statistic.

Anwendungsbereich: SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 CU4Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 CU4

HinweiseRemarks

sys. dm_db_stats_properties gibt unter den folgenden Bedingungen ein leeres Rowset zurück:sys.dm_db_stats_properties returns an empty rowset under any of the following conditions:

  • object_id oder stats_id ist NULL.object_id or stats_id is NULL.
  • Das angegebene Objekt wurde nicht gefunden bzw. entspricht keiner Tabelle bzw. keiner indizierten Sicht.The specified object is not found or does not correspond to a table or indexed view.
  • Die angegebene Statistik-ID entspricht keiner vorhandenen Statistik für die angegebene Objekt-ID.The specified statistics ID does not correspond to existing statistics for the specified object ID.
  • Der aktuelle Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Anzeigen des Statistikobjekts.The current user does not have permissions to view the statistics object.

Dieses Verhalten ermöglicht die sichere Verwendung von sys. dm_db_stats_properties , wenn Cross auf Zeilen in Sichten, wie z . b. sys. Objects und sys. stats, angewendet wird.This behavior allows for the safe usage of sys.dm_db_stats_properties when cross applied to rows in views such as sys.objects and sys.stats.

Das Aktualisierungsdatum für die Statistiken befindet sich gemeinsam mit dem Histogramm und Dichtevektor nicht in den Metadaten, sondern im Statistik-Blobobjekt.Statistics update date is stored in the statistics blob object together with the histogram and density vector, not in the metadata. 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.When no data is read to generate statistics data, the statistics blob is not created, the date is not available, and the last_updated column is NULL. Dies ist der Fall bei gefilterten Statistiken oder neuen und leeren Tabellen, für die das Prädikat keine Zeilen zurückgibt.This is the case for filtered statistics for which the predicate does not return any rows, or for new empty tables.

BerechtigungenPermissions

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.Requires that the user has select permissions on statistics columns or the user owns the table or the user is a member of the sysadmin fixed server role, the db_owner fixed database role, or the db_ddladmin fixed database role.

BeispieleExamples

A.A. Einfaches BeispielSimple example

Im folgenden Beispiel wird die Statistik für die- Person.Person Tabelle in der AdventureWorks-Datenbank zurückgegeben.The following example returns the statistics for the Person.Person table in the AdventureWorks database.

SELECT * FROM sys.dm_db_stats_properties (object_id('Person.Person'), 1);

B.B. Zurückgeben aller Statistikeigenschaften für eine TabelleReturning all statistics properties for a table

Im folgenden Beispiel werden die Eigenschaften aller Statistiken zurückgegeben, die für die TEST-Tabelle vorhanden sind.The following example returns properties of all statistics that exist for the table TEST.

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');  

C.C. Zurückgeben von Statistikeigenschaften für häufig geänderte ObjekteReturning statistics properties for frequently modified objects

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.The following example returns all tables, indexed views, and statistics in the current database for which the leading column was modified more than 1000 times since the last statistics update.

SELECT obj.name, obj.object_id, stat.name, stat.stats_id, last_updated, modification_counter  
FROM sys.objects AS obj   
INNER JOIN sys.stats AS 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;  

Weitere InformationenSee Also

DBCC SHOW_STATISTICS (Transact-SQL) DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL) sys.stats (Transact-SQL)
Objektbezogene dynamische Verwaltungs Sichten und Funktionen (Transact-SQL-) Object Related Dynamic Management Views and Functions (Transact-SQL)
Dynamische Verwaltungssichten und -funktionen (Transact-SQL)Dynamic Management Views and Functions (Transact-SQL)
sys.dm_db_incremental_stats_properties (Transact-SQL)sys.dm_db_incremental_stats_properties (Transact-SQL)
sys.dm_db_stats_histogram (Transact-SQL)sys.dm_db_stats_histogram (Transact-SQL)