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

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Devuelve propiedades de estadísticas para el objeto de base de datos especificado (tabla o vista indizada) en la base de datos de SQL ServerSQL Server actual.Returns properties of statistics for the specified database object (table or indexed view) in the current SQL ServerSQL Server database. Para las tablas con particiones, vea el similar sys.dm_db_incremental_stats_properties.For partitioned tables, see the similar sys.dm_db_incremental_stats_properties.

SintaxisSyntax

sys.dm_db_stats_properties (object_id, stats_id)  

ArgumentosArguments

object_idobject_id
Es el identificador del objeto en la base de datos actual para el que se han solicitado propiedades de una de sus estadísticas.Is the ID of the object in the current database for which properties of one of its statistics is requested. object_id es int.object_id is int.

stats_idstats_id
Es el identificador de estadísticas para el object_idespecificado.Is the ID of statistics for the specified object_id. El identificador de estadísticas se puede obtener desde la vista de administración dinámica sys.stats .The statistics ID can be obtained from the sys.stats dynamic management view. stats_id es int.stats_id is int.

Tabla devueltaTable Returned

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
object_idobject_id intint Identificador del objeto (tabla o vista indizada) para el que se devuelven las propiedades del objeto de estadísticas.ID of the object (table or indexed view) for which to return the properties of the statistics object.
stats_idstats_id intint Identificador del objeto de estadísticas.ID of the statistics object. Es único dentro de la vista indizada o la tabla.Is unique within the table or indexed view. Para obtener más información, vea sys.stats (Transact-SQL).For more information, see sys.stats (Transact-SQL).
last_updatedlast_updated datetime2datetime2 Fecha y hora de la última actualización del objeto de estadísticas.Date and time the statistics object was last updated. Para más información, vea la sección Comentarios en esta página.For more information, see the Remarks section in this page.
rowsrows bigintbigint Número total de filas que tenía la tabla o la vista indizada la última vez que se actualizaron las estadísticas.Total number of rows in the table or indexed view when statistics were last updated. Si las estadísticas se filtran o corresponden a un índice filtrado, el número de filas puede ser inferior al número de filas de la tabla.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 Número total de filas muestreadas para cálculos de estadísticas.Total number of rows sampled for statistics calculations.
pasossteps intint Número de pasos del histograma.Number of steps in the histogram. Para obtener más información, vea DBCC SHOW_STATISTICS (Transact-SQL)no incluye la vista.For more information, see DBCC SHOW_STATISTICS (Transact-SQL).
unfiltered_rowsunfiltered_rows bigintbigint Número total de filas de la tabla antes de aplicar la expresión de filtro (para estadísticas filtradas).Total number of rows in the table before applying the filter expression (for filtered statistics). Si las estadísticas no están filtradas, unfiltered_rows es igual al valor devuelto en la columna rows.If statistics are not filtered, unfiltered_rows is equal to the value returns in the rows column.
modification_countermodification_counter bigintbigint Número total de modificaciones para la columna de estadísticas iniciales (la columna en la que se ha generado el histograma) desde la última vez que se actualizaron las estadísticas.Total number of modifications for the leading statistics column (the column on which the histogram is built) since the last time statistics were updated.

Las tablas optimizadas para memoria: iniciando SQL Server 2016 (13.x)SQL Server 2016 (13.x) y en Base de datos SQL de AzureAzure SQL Database contiene esta columna: número total de modificaciones de la tabla desde que se actualizaron las estadísticas de tiempo de último o se ha reiniciado la base de datos.Memory-optimized tables: starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) and in Base de datos SQL de AzureAzure 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 Porcentaje de ejemplo persistente empleado en las actualizaciones de estadísticas en las que no se especifica explícitamente un porcentaje de muestreo.Persisted sample percentage used for statistic updates that do not explicitly specify a sampling percentage. Si el valor es cero, significa que no hay establecido ningún porcentaje de ejemplo persistente para esta estadística.If value is zero, then no persisted sample percentage is set for this statistic.

Se aplica a: 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

ComentariosRemarks

Sys.dm_db_stats_properties devuelve un conjunto de filas vacío en cualquiera de las condiciones siguientes:sys.dm_db_stats_properties returns an empty rowset under any of the following conditions:

  • object_id o stats_id es NULL.object_id or stats_id is NULL.
  • El objeto especificado no se encuentra o no corresponde a una vista indizada o a una tabla.The specified object is not found or does not correspond to a table or indexed view.
  • El identificador de estadísticas especificado no se corresponde con las estadísticas existentes para el identificador de objeto especificado.The specified statistics ID does not correspond to existing statistics for the specified object ID.
  • El usuario actual no tiene permisos para ver el objeto de estadísticas.The current user does not have permissions to view the statistics object.

Este comportamiento permite el uso seguro de sys.dm_db_stats_properties cuando cross aplicado a las filas en las vistas como sys.objects y sys.stats.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.

La fecha de actualización de estadísticas se almacena en el objeto BLOB de estadísticas junto con el histograma y el vector de densidad, pero no en los metadatos.Statistics update date is stored in the statistics blob object together with the histogram and density vector, not in the metadata. Cuando se lee ningún dato para generar datos de estadísticas, no se crea el blob de estadísticas, no está disponible, la fecha y la last_updated columna es 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. Esto sucede en las estadísticas filtradas, en las que el predicado no devuelve ninguna fila, o en las tablas nuevas vacías.This is the case for filtered statistics for which the predicate does not return any rows, or for new empty tables.

PermisosPermissions

Necesita que el usuario tenga permisos de selección en columnas de estadísticas o posea la tabla, o que el usuario sea miembro del rol fijo de servidor sysadmin, del rol fijo de base de datos db_owner o del rol fijo de base de datos db_ddladmin.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.

EjemplosExamples

A.A. Ejemplo sencilloSimple example

El ejemplo siguiente devuelve las estadísticas para el Person.Person tabla en la base de datos AdventureWorks.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. Devolver propiedades de todas las estadísticas de una tablaReturning all statistics properties for a table

En el ejemplo siguiente se devuelven propiedades de todas las estadísticas que existen para la tabla TEST.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. Devolver propiedades de estadísticas para objetos modificados frecuentementeReturning statistics properties for frequently modified objects

En el ejemplo siguiente se devuelven todas las tablas, vistas indizadas y estadísticas de la base de datos actual para las que la columna inicial se modificó más de 1000 veces desde la última actualización de estadísticas.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;  

Vea tambiénSee Also

DBCC SHOW_STATISTICS (Transact-SQL) DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL) sys.stats (Transact-SQL)
Funciones y vistas de administración dinámica relacionada con objetos (Transact-SQL) Object Related Dynamic Management Views and Functions (Transact-SQL)
Funciones y vistas de administración dinámica (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)