sys.dm_db_index_operational_stats (Transact-SQL)sys.dm_db_index_operational_stats (Transact-SQL)

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)síAzure SQL DatabasesíAzure SQL Data Warehouse síAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Devuelve las entradas y salidas de bajo nivel actuales, el bloqueo, el bloqueo temporal y la actividad de método de acceso de cada partición de una tabla o índice de la base de datos.Returns current lowore-level I/O, locking, latching, and access method activity for each partition of a table or index in the database.

Los índices con optimización para memoria no aparecen en esta DMV.Memory-optimized indexes do not appear in this DMV.

Nota

Sys.dm_db_index_operational_stats no devuelve información acerca de los índices con optimización para memoria.sys.dm_db_index_operational_stats does not return information about memory-optimized indexes. Para obtener información sobre el uso de los índices con optimización para memoria, vea sys.dm_db_xtp_index_stats ( Transact-SQL ) .For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax


sys.dm_db_index_operational_stats (    
    { database_id | NULL | 0 | DEFAULT }    
  , { object_id | NULL | 0 | DEFAULT }    
  , { index_id | 0 | NULL | -1 | DEFAULT }    
  , { partition_number | NULL | 0 | DEFAULT }    
)    

ArgumentosArguments

database_id | NULL | 0 | VALOR PREDETERMINADOdatabase_id | NULL | 0 | DEFAULT
Identificador de la base de datos.ID of the database. database_id es smallint.database_id is smallint. Las entradas válidas son el número de identificador de una base de datos, NULL, 0 y DEFAULT.Valid inputs are the ID number of a database, NULL, 0, or DEFAULT. El valor predeterminado es 0.The default is 0. NULL, 0 y DEFAULT son valores equivalentes en este contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para devolver información de todas las bases de datos en la instancia de SQL ServerSQL Server.Specify NULL to return information for all databases in the instance of SQL ServerSQL Server. Si especifica NULL para database_id, también debe especificar NULL para object_id, index_id, y número_de_partición.If you specify NULL for database_id, you must also specify NULL for object_id, index_id, and partition_number.

La función integrada DB_ID puede especificarse.The built-in function DB_ID can be specified.

object_id | NULL | 0 | VALOR PREDETERMINADOobject_id | NULL | 0 | DEFAULT
Identificador de objeto de la tabla o vista donde está activado el índice.Object ID of the table or view the index is on. object_id es int.object_id is int.

Las entradas válidas son el número de identificador de una tabla o vista, NULL, 0 y DEFAULT.Valid inputs are the ID number of a table and view, NULL, 0, or DEFAULT. El valor predeterminado es 0.The default is 0. NULL, 0 y DEFAULT son valores equivalentes en este contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para devolver información en memoria caché de todas las tablas y vistas de la base de datos especificada.Specify NULL to return cached information for all tables and views in the specified database. Si especifica NULL para object_id, también debe especificar NULL para index_id y número_de_partición.If you specify NULL for object_id, you must also specify NULL for index_id and partition_number.

index_id | 0 | NULL | -1 | VALOR PREDETERMINADOindex_id | 0 | NULL | -1 | DEFAULT
Id. del índice.ID of the index. index_id es int. Las entradas válidas son el número de identificación de un índice, 0 si object_id es un montón, NULL, -1 o DEFAULT.index_id is int. Valid inputs are the ID number of an index, 0 if object_id is a heap, NULL, -1, or DEFAULT. El valor predeterminado es -1. NULL, -1 y DEFAULT son valores equivalentes en este contexto.The default is -1, NULL, -1, and DEFAULT are equivalent values in this context.

Especifique NULL para devolver información en memoria caché de todos los índices de una tabla o vista base.Specify NULL to return cached information for all indexes for a base table or view. Si especifica NULL para index_id, también debe especificar NULL para número_de_partición.If you specify NULL for index_id, you must also specify NULL for partition_number.

número_de_partición | NULL | 0 | VALOR PREDETERMINADOpartition_number | NULL | 0 | DEFAULT
Número de partición en el objeto.Partition number in the object. número_de_partición es int. Las entradas válidas son el partion_number de un índice o montón, NULL, 0 o DEFAULT.partition_number is int. Valid inputs are the partion_number of an index or heap, NULL, 0, or DEFAULT. El valor predeterminado es 0.The default is 0. NULL, 0 y DEFAULT son valores equivalentes en este contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para devolver información en memoria caché de todas las particiones del índice o montón.Specify NULL to return cached information for all partitions of the index or heap.

número_de_partición está basado en 1.partition_number is 1-based. Un montón o índice sin particiones tiene número_de_partición establecido en 1.A nonpartitioned index or heap has partition_number set to 1.

Tabla devueltaTable Returned

Nombre de columnaColumn name Tipo de datosData type DescriptionDescription
database_iddatabase_id smallintsmallint Id. de la base de datos.Database ID.
object_idobject_id intint Identificador de la tabla o vista.ID of the table or view.
index_idindex_id intint Identificador del índice o montón.ID of the index or heap.

0 = Montón0 = Heap
hobt_idhobt_id bigintbigint Se aplica a: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 hasta la versión actual), Base de datos SQL de AzureAzure SQL Database.Applies to: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 through current version), Base de datos SQL de AzureAzure SQL Database.

Id. del montón de datos o conjunto de filas de árbol B que realiza un seguimiento de los datos internos para un índice de almacén de columnas.ID of the data heap or B-tree rowset that tracks internal data for a columnstore index.

NULL: esto no es un conjunto de filas del almacén de columnas interno.NULL – this is not an internal columnstore rowset.

Para obtener más información, consulte sys.internal_partitions ( Transact-SQL )For more details, see sys.internal_partitions (Transact-SQL)
número_de_particiónpartition_number intint Número de partición en base 1 en el índice o montón.1-based partition number within the index or heap.
leaf_insert_countleaf_insert_count bigintbigint Recuento acumulado de inserciones en el nivel hoja.Cumulative count of leaf-level inserts.
leaf_delete_countleaf_delete_count bigintbigint Recuento acumulado de eliminaciones en el nivel hoja.Cumulative count of leaf-level deletes. leaf_delete_count sólo aumenta con registros eliminados que no están marcados como fantasma en primer lugar.leaf_delete_count is only incremented for deleted records that are not marked as ghost first. Para los registros eliminados se fantasma en primer lugar, leaf_ghost_count se incrementa en su lugar.For deleted records that are ghosted first, leaf_ghost_count is incremented instead.
leaf_update_countleaf_update_count bigintbigint Recuento acumulado de actualizaciones en el nivel hoja.Cumulative count of leaf-level updates.
leaf_ghost_countleaf_ghost_count bigintbigint Recuento acumulado de filas en el nivel hoja marcadas como eliminadas, pero que aún no se han quitado.Cumulative count of leaf-level rows that are marked as deleted, but not yet removed. Este número no incluye los registros que se eliminan inmediatamente sin que se marcara como fantasma.This count does not include records that are immediately deleted without being marked as ghost. Estas filas se quitan mediante un subproceso de limpieza a intervalos establecidos.These rows are removed by a cleanup thread at set intervals. En este valor no se incluyen las filas retenidas a causa de una transacción de aislamiento de instantánea pendiente.This value does not include rows that are retained, because of an outstanding snapshot isolation transaction.
nonleaf_insert_countnonleaf_insert_count bigintbigint Recuento acumulado de inserciones por encima del nivel hoja.Cumulative count of inserts above the leaf level.

0 = Montón o almacén de columnas0 = Heap or columnstore
nonleaf_delete_countnonleaf_delete_count bigintbigint Recuento acumulado de eliminaciones por encima del nivel hoja.Cumulative count of deletes above the leaf level.

0 = Montón o almacén de columnas0 = Heap or columnstore
nonleaf_update_countnonleaf_update_count bigintbigint Recuento acumulado de actualizaciones por encima del nivel hoja.Cumulative count of updates above the leaf level.

0 = Montón o almacén de columnas0 = Heap or columnstore
leaf_allocation_countleaf_allocation_count bigintbigint Recuento acumulado de asignaciones de página en el nivel hoja en el índice o el montón.Cumulative count of leaf-level page allocations in the index or heap.

En un índice, una asignación de página corresponde a una división de página.For an index, a page allocation corresponds to a page split.
nonleaf_allocation_countnonleaf_allocation_count bigintbigint Recuento acumulado de asignaciones de página ocasionadas por divisiones de página por encima del nivel hoja.Cumulative count of page allocations caused by page splits above the leaf level.

0 = Montón o almacén de columnas0 = Heap or columnstore
leaf_page_merge_countleaf_page_merge_count bigintbigint Recuento acumulado de combinaciones de página en el nivel hoja.Cumulative count of page merges at the leaf level. Siempre es 0 para el índice de almacén de columnas.Always 0 for columnstore index.
nonleaf_page_merge_countnonleaf_page_merge_count bigintbigint Recuento acumulado de combinaciones de página por encima del nivel hoja.Cumulative count of page merges above the leaf level.

0 = Montón o almacén de columnas0 = Heap or columnstore
range_scan_countrange_scan_count bigintbigint Recuento acumulado de recorridos de tabla e intervalo iniciados en el índice o el montón.Cumulative count of range and table scans started on the index or heap.
singleton_lookup_countsingleton_lookup_count bigintbigint Recuento acumulado de recuperaciones de filas únicas del índice o montón.Cumulative count of single row retrievals from the index or heap.
forwarded_fetch_countforwarded_fetch_count bigintbigint Recuento de filas que se capturan mediante un registro de reenvío.Count of rows that were fetched through a forwarding record.

0 = Índices0 = Indexes
lob_fetch_in_pageslob_fetch_in_pages bigintbigint Recuento acumulado de páginas de objetos grandes (LOB) recuperadas desde la unidad de asignación LOB_DATA.Cumulative count of large object (LOB) pages retrieved from the LOB_DATA allocation unit. Estas páginas contienen datos que se almacenan en columnas de tipo texto, ntext, imagen, varchar (max), (nvarchar max), varbinary (max), y xml.These pages contain data that is stored in columns of type text, ntext, image, varchar(max), nvarchar(max), varbinary(max), and xml. Para obtener más información, vea Tipos de datos (Transact-SQL).For more information, see Data Types (Transact-SQL).
lob_fetch_in_byteslob_fetch_in_bytes bigintbigint Recuento acumulado de bytes de datos de LOB recuperados.Cumulative count of LOB data bytes retrieved.
lob_orphan_create_countlob_orphan_create_count bigintbigint Recuento acumulado de valores de LOB huérfanos creados para operaciones masivas.Cumulative count of orphan LOB values created for bulk operations.

0 = Índice no clúster0 = Nonclustered index
lob_orphan_insert_countlob_orphan_insert_count bigintbigint Recuento acumulado de valores de LOB huérfanos insertados durante operaciones masivas.Cumulative count of orphan LOB values inserted during bulk operations.

0 = Índice no clúster0 = Nonclustered index
row_overflow_fetch_in_pagesrow_overflow_fetch_in_pages bigintbigint Recuento acumulado de páginas de datos de desbordamiento de fila recuperadas desde la unidad de asignación ROW_OVERFLOW_DATA.Cumulative count of row-overflow data pages retrieved from the ROW_OVERFLOW_DATA allocation unit.

Estas páginas contienen datos almacenados en columnas de tipo varchar, nvarchar (n), varbinary, y sql_variant que ha sido inserción no consecutiva.These pages contain data stored in columns of type varchar(n), nvarchar(n), varbinary(n), and sql_variant that has been pushed off-row.
row_overflow_fetch_in_bytesrow_overflow_fetch_in_bytes bigintbigint Recuento acumulado de bytes de datos de desbordamiento de fila recuperados.Cumulative count of row-overflow data bytes retrieved.
column_value_push_off_row_countcolumn_value_push_off_row_count bigintbigint Recuento acumulado de valores de columna de datos de LOB y datos de desbordamiento de fila que se han insertado de manera no consecutiva para que una fila insertada o actualizada entre en una página.Cumulative count of column values for LOB data and row-overflow data that is pushed off-row to make an inserted or updated row fit within a page.
column_value_pull_in_row_countcolumn_value_pull_in_row_count bigintbigint Recuento acumulado de valores de columna de datos de LOB y datos de desbordamiento de fila que se han extraído de manera consecutiva.Cumulative count of column values for LOB data and row-overflow data that is pulled in-row. Esto ocurre cuando una operación de actualización libera espacio en un registro y proporciona una oportunidad para trasladar uno o más valores de manera no consecutiva de las unidades de asignación LOB_DATA o ROW_OVERFLOW_DATA a la unidad de asignación IN_ROW_DATA.This occurs when an update operation frees up space in a record and provides an opportunity to pull in one or more off-row values from the LOB_DATA or ROW_OVERFLOW_DATA allocation units to the IN_ROW_DATA allocation unit.
row_lock_countrow_lock_count bigintbigint Número acumulado de bloqueos de fila solicitados.Cumulative number of row locks requested.
row_lock_wait_countrow_lock_wait_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha esperado en un bloqueo de fila.Cumulative number of times the Motor de base de datosDatabase Engine waited on a row lock.
row_lock_wait_in_msrow_lock_wait_in_ms bigintbigint Número total de milisegundos que el Motor de base de datosDatabase Engine ha esperado en un bloqueo de fila.Total number of milliseconds the Motor de base de datosDatabase Engine waited on a row lock.
page_lock_countpage_lock_count bigintbigint Número acumulado de bloqueos de página solicitados.Cumulative number of page locks requested.
page_lock_wait_countpage_lock_wait_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha esperado en un bloqueo de página.Cumulative number of times the Motor de base de datosDatabase Engine waited on a page lock.
page_lock_wait_in_mspage_lock_wait_in_ms bigintbigint Número total de milisegundos que el Motor de base de datosDatabase Engine ha esperado en un bloqueo de página.Total number of milliseconds the Motor de base de datosDatabase Engine waited on a page lock.
index_lock_promotion_attempt_countindex_lock_promotion_attempt_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha intentado concentrar bloqueos.Cumulative number of times the Motor de base de datosDatabase Engine tried to escalate locks.
index_lock_promotion_countindex_lock_promotion_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha concentrado bloqueos.Cumulative number of times the Motor de base de datosDatabase Engine escalated locks.
page_latch_wait_countpage_latch_wait_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha esperado a causa de la contención de bloqueos temporales.Cumulative number of times the Motor de base de datosDatabase Engine waited, because of latch contention.
page_latch_wait_in_mspage_latch_wait_in_ms bigintbigint Número acumulado de milisegundos que el Motor de base de datosDatabase Engine ha esperado a causa de la contención de bloqueos temporales.Cumulative number of milliseconds the Motor de base de datosDatabase Engine waited, because of latch contention.
page_io_latch_wait_countpage_io_latch_wait_count bigintbigint Número acumulado de veces que el Motor de base de datosDatabase Engine ha esperado en un bloqueo temporal de E/S de páginas.Cumulative number of times the Motor de base de datosDatabase Engine waited on an I/O page latch.
page_io_latch_wait_in_mspage_io_latch_wait_in_ms bigintbigint Número acumulado de milisegundos que el Motor de base de datosDatabase Engine ha esperado en un bloqueo temporal de E/S de páginas.Cumulative number of milliseconds the Motor de base de datosDatabase Engine waited on a page I/O latch.
tree_page_latch_wait_counttree_page_latch_wait_count bigintbigint Subconjunto de page_latch_wait_count que incluye solamente las páginas de árbol B de nivel superior.Subset of page_latch_wait_count that includes only the upper-level B-tree pages. Siempre es 0 para un índice de montón o de almacén de columnas.Always 0 for a heap or columnstore index.
tree_page_latch_wait_in_mstree_page_latch_wait_in_ms bigintbigint Subconjunto de page_latch_wait_in_ms que incluye solamente las páginas de árbol B de nivel superior.Subset of page_latch_wait_in_ms that includes only the upper-level B-tree pages. Siempre es 0 para un índice de montón o de almacén de columnas.Always 0 for a heap or columnstore index.
tree_page_io_latch_wait_counttree_page_io_latch_wait_count bigintbigint Subconjunto de page_io_latch_wait_count que incluye solamente las páginas de árbol B de nivel superior.Subset of page_io_latch_wait_count that includes only the upper-level B-tree pages. Siempre es 0 para un índice de montón o de almacén de columnas.Always 0 for a heap or columnstore index.
tree_page_io_latch_wait_in_mstree_page_io_latch_wait_in_ms bigintbigint Subconjunto de page_io_latch_wait_in_ms que incluye solamente las páginas de árbol B de nivel superior.Subset of page_io_latch_wait_in_ms that includes only the upper-level B-tree pages. Siempre es 0 para un índice de montón o de almacén de columnas.Always 0 for a heap or columnstore index.
page_compression_attempt_countpage_compression_attempt_count bigintbigint Número de páginas que se evaluaron para la compresión en el nivel de página para particiones específicas de una tabla, un índice o una vista indizada.Number of pages that were evaluated for PAGE level compression for specific partitions of a table, index, or indexed view. Incluye páginas que no se comprimieron porque no se consiguieron ahorros de espacio significativos.Includes pages that were not compressed because significant savings could not be achieved. Siempre es 0 para el índice de almacén de columnas.Always 0 for columnstore index.
page_compression_success_countpage_compression_success_count bigintbigint Número de páginas de datos que se comprimieron utilizando la compresión de páginas para particiones específicas de una tabla, un índice o una vista indizada.Number of data pages that were compressed by using PAGE compression for specific partitions of a table, index, or indexed view. Siempre es 0 para el índice de almacén de columnas.Always 0 for columnstore index.

ComentariosRemarks

Este objeto de administración dinámica no acepta parámetros correlacionado de CROSS APPLY y OUTER APPLY.This dynamic management object does not accept correlated parameters from CROSS APPLY and OUTER APPLY.

Puede usar sys.dm_db_index_operational_stats para realizar el seguimiento de la cantidad de tiempo que los usuarios deben esperar para leer o escribir en una tabla, índice o partición e identificar las tablas o índices que se produzcan actividades de E/S importantes o caliente zonas.You can use sys.dm_db_index_operational_stats to track the length of time that users must wait to read or write to a table, index, or partition, and identify the tables or indexes that are encountering significant I/O activity or hot spots.

Use las columnas siguientes para identificar áreas de contención.Use the following columns to identify areas of contention.

Para analizar un patrón de acceso común a la partición del índice o tabla, utilice estas columnas:To analyze a common access pattern to the table or index partition, use these columns:

  • leaf_insert_countleaf_insert_count

  • leaf_delete_countleaf_delete_count

  • leaf_update_countleaf_update_count

  • leaf_ghost_countleaf_ghost_count

  • range_scan_countrange_scan_count

  • singleton_lookup_countsingleton_lookup_count

    Para identificar la contención de bloqueos y bloqueos temporales, utilice estas columnas:To identify latching and locking contention, use these columns:

  • page_latch_wait_count y page_latch_wait_in_mspage_latch_wait_count and page_latch_wait_in_ms

    Estas columnas indican si existe una contención de bloqueos temporales en el índice o montón, y la importancia de la misma.These columns indicate whether there is latch contention on the index or heap, and the significance of the contention.

  • row_lock_count y page_lock_countrow_lock_count and page_lock_count

    Estas columnas indican cuántas veces el Motor de base de datosDatabase Engine ha intentado adquirir bloqueos de página y fila.These columns indicate how many times the Motor de base de datosDatabase Engine tried to acquire row and page locks.

  • row_lock_wait_in_ms y page_lock_wait_in_msrow_lock_wait_in_ms and page_lock_wait_in_ms

    Estas columnas indican si existe una contención de bloqueos en el índice o montón y la importancia de la misma.These columns indicate whether there is lock contention on the index or heap, and the significance of the contention.

    Para analizar estadísticas de E/s físicas en una partición de índice o montónTo analyze statistics of physical I/Os on an index or heap partition

  • page_io_latch_wait_count y page_io_latch_wait_in_mspage_io_latch_wait_count and page_io_latch_wait_in_ms

    Estas columnas indican si las operaciones de E/S físicas tuvieron problemas para traer las páginas de índice o montón a memoria y cuántas operaciones de E/S tuvieron problemas.These columns indicate whether physical I/Os were issued to bring the index or heap pages into memory and how many I/Os were issued.

Comentarios de columnaColumn Remarks

Los valores de lob_orphan_create_count y lob_orphan_insert_count siempre deben ser iguales.The values in lob_orphan_create_count and lob_orphan_insert_count should always be equal.

El valor de las columnas lob_fetch_in_pages y lob_fetch_in_bytes puede ser mayor que cero para índices no clúster que contengan una o varias columnas LOB como columnas incluidas.The value in the columns lob_fetch_in_pages and lob_fetch_in_bytes can be greater than zero for nonclustered indexes that contain one or more LOB columns as included columns. Para más información, consulte Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns. De forma similar, el valor de las columnas row_overflow_fetch_in_pages y row_overflow_fetch_in_bytes puede ser mayor que 0 para los índices no clúster si el índice contiene columnas que se pueden insertar no consecutiva.Similarly, the value in the columns row_overflow_fetch_in_pages and row_overflow_fetch_in_bytes can be greater than 0 for nonclustered indexes if the index contains columns that can be pushed off-row.

Restablecer los contadores en la memoria caché de metadatosHow the Counters in the Metadata Cache Are Reset

Los datos devueltos por sys.dm_db_index_operational_stats existe solo mientras el objeto de caché de metadatos que representa el montón o índice está disponible.The data returned by sys.dm_db_index_operational_stats exists only as long as the metadata cache object that represents the heap or index is available. Estos datos nunca son permanentes ni transaccionalmente coherentes.This data is neither persistent nor transactionally consistent. Esto significa que no se pueden utilizar estos contadores para determinar si se ha utilizado un índice o cuándo se usó por última vez.This means you cannot use these counters to determine whether an index has been used or not, or when the index was last used. Para obtener información acerca de esto, consulte sys.dm_db_index_usage_stats ( Transact-SQL ) .For information about this, see sys.dm_db_index_usage_stats (Transact-SQL).

Los valores de cada columna se establecerán en cero siempre que los metadatos del montón o índice se incorporen a la memoria caché de metadatos y las estadísticas se acumulen hasta que el objeto de la memoria caché se quite de la memoria caché de metadatos.The values for each column are set to zero whenever the metadata for the heap or index is brought into the metadata cache and statistics are accumulated until the cache object is removed from the metadata cache. Por tanto, es probable que un índice o montón activo tenga siempre sus metadatos en la memoria caché, y los recuentos acumulados puedan reflejar la actividad desde la última vez que se inició la instancia de SQL ServerSQL Server.Therefore, an active heap or index will likely always have its metadata in the cache, and the cumulative counts may reflect activity since the instance of SQL ServerSQL Server was last started. Los metadatos de un índice o montón menos activo entrarán y saldrán de la memoria caché según se utilicen.The metadata for a less active heap or index will move in and out of the cache as it is used. Como resultado, sus valores pueden estar disponibles o no.As a result, it may or may not have values available. La eliminación de un índice hará que las estadísticas correspondientes se quiten de la memoria y que la función ya no informe de las mismas.Dropping an index will cause the corresponding statistics to be removed from memory and no longer be reported by the function. Otras operaciones DDL en el índice pueden hacer que el valor de las estadísticas se restablezca en cero.Other DDL operations against the index may cause the value of the statistics to be reset to zero.

Usar funciones del sistema para especificar valores de parámetrosUsing System Functions to Specify Parameter Values

Puede usar el Transact-SQLTransact-SQL funciones DB_ID y OBJECT_ID para especificar un valor para el database_id y object_id parámetros.You can use the Transact-SQLTransact-SQL functions DB_ID and OBJECT_ID to specify a value for the database_id and object_id parameters. Sin embargo, el envío de valores no válidos a estas funciones puede provocar resultados no deseados.However, passing values that are not valid to these functions may cause unintended results. Asegúrese de que se devuelva un identificador válido cuando utilice DB_ID u OBJECT_ID.Always make sure that a valid ID is returned when you use DB_ID or OBJECT_ID. Para obtener más información, vea la sección comentarios en sys.dm_db_index_physical_stats ( Transact-SQL ) .For more information, see the Remarks section in sys.dm_db_index_physical_stats (Transact-SQL).

PermissionsPermissions

Necesita los siguientes permisos:Requires the following permissions:

  • Permiso CONTROL en el objeto especificado en la base de datosCONTROL permission on the specified object within the database

  • Permiso VIEW DATABASE STATE para devolver información sobre todos los objetos de la base de datos especificada, utilizando el carácter comodín de objeto @object_id = NULLVIEW DATABASE STATE permission to return information about all objects within the specified database, by using the object wildcard @object_id = NULL

  • Permiso VIEW SERVER STATE para devolver información sobre todas las bases de datos, mediante el carácter comodín de base de datos @database_id = NULLVIEW SERVER STATE permission to return information about all databases, by using the database wildcard @database_id = NULL

    El permiso VIEW DATABASE STATE permite devolver todos los objetos de la base de datos, independientemente de los permisos CONTROL denegados en objetos específicos.Granting VIEW DATABASE STATE allows all objects in the database to be returned, regardless of any CONTROL permissions denied on specific objects.

    Si se deniega el permiso VIEW DATABASE STATE, no se puede devolver ningún objeto de la base de datos, independientemente de que se hayan concedido permisos CONTROL a objetos específicos.Denying VIEW DATABASE STATE disallows all objects in the database to be returned, regardless of any CONTROL permissions granted on specific objects. Además, cuando el carácter comodín de base de datos @database_id= se especifica NULL, se omite la base de datos.Also, when the database wildcard @database_id=NULL is specified, the database is omitted.

    Para obtener más información, vea funciones y vistas de administración dinámica ( Transact-SQL ) .For more information, see Dynamic Management Views and Functions (Transact-SQL).

EjemplosExamples

A.A. Devolver información de una tabla especificadaReturning information for a specified table

En el siguiente ejemplo se devuelve información de todos los índices y particiones de la tabla Person.Address en la base de datos AdventureWorks2012AdventureWorks2012.The following example returns information for all indexes and partitions of the Person.Address table in the AdventureWorks2012AdventureWorks2012 database. La ejecución de esta consulta requiere, como mínimo, permiso CONTROL en la tabla Person.Address.Executing this query requires, at a minimum, CONTROL permission on Person.Address table.

Importante

Cuando utilice las funciones DB_ID y OBJECT_ID de Transact-SQLTransact-SQL para devolver un valor de parámetro, asegúrese de que siempre se devuelva un identificador válido.When you are using the Transact-SQLTransact-SQL functions DB_ID and OBJECT_ID to return a parameter value, always ensure that a valid ID is returned. Si el nombre de objeto o base de datos no se puede encontrar, por ejemplo, cuando no existe o se ha escrito incorrectamente, las dos funciones devolverán NULL.If the database or object name cannot be found, such as when they do not exist or are spelled incorrectly, both functions will return NULL. El sys.dm_db_index_operational_stats función interpreta NULL como un valor comodín que especifica todas las bases de datos o todos los objetos.The sys.dm_db_index_operational_stats function interprets NULL as a wildcard value that specifies all databases or all objects. Puesto que ésta puede ser una operación accidental, los ejemplos de esta sección demuestran una forma segura para determinar los Id. de bases de datos y objetos.Because this can be an unintentional operation, the examples in this section demonstrate the safe way to determine database and object IDs.

DECLARE @db_id int;    
DECLARE @object_id int;    
SET @db_id = DB_ID(N'AdventureWorks2012');    
SET @object_id = OBJECT_ID(N'AdventureWorks2012.Person.Address');    
IF @db_id IS NULL     
  BEGIN;    
    PRINT N'Invalid database';    
  END;    
ELSE IF @object_id IS NULL    
  BEGIN;    
    PRINT N'Invalid object';    
  END;    
ELSE    
  BEGIN;    
    SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);    
  END;    
GO    

B.B. Devolver información de todas las tablas e índicesReturning information for all tables and indexes

En el siguiente ejemplo se devuelve información de todas las tablas e índices en la instancia de SQL ServerSQL Server.The following example returns information for all tables and indexes within the instance of SQL ServerSQL Server. Para ejecutar esta consulta requiere el permiso VIEW SERVER STATE.Executing this query requires VIEW SERVER STATE permission.

SELECT * FROM sys.dm_db_index_operational_stats( NULL, NULL, NULL, NULL);    
GO    

Vea tambiénSee Also

Funciones y vistas de administración dinámica (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
Índice relacionadas con funciones y vistas de administración dinámica ( Transact-SQL ) Index Related Dynamic Management Views and Functions (Transact-SQL)
Supervisión y optimización del rendimiento Monitor and Tune for Performance
sys.dm_db_index_physical_stats (Transact-SQL) sys.dm_db_index_physical_stats (Transact-SQL)
Sys.dm_db_index_usage_stats ( Transact-SQL ) sys.dm_db_index_usage_stats (Transact-SQL)
Sys.dm_os_latch_stats ( Transact-SQL ) sys.dm_os_latch_stats (Transact-SQL)
Sys.dm_db_partition_stats ( Transact-SQL ) sys.dm_db_partition_stats (Transact-SQL)
Sys.allocation_units ( Transact-SQL ) sys.allocation_units (Transact-SQL)
sys.indexes (Transact-SQL)sys.indexes (Transact-SQL)