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

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Retorna o atual e/s de nível inferior, bloqueio, trava e atividade de método de acesso para cada partição de uma tabela ou índice no banco de dados.Returns current lower-level I/O, locking, latching, and access method activity for each partition of a table or index in the database.

Os índices com otimização de memória não aparecem nessa DMV.Memory-optimized indexes do not appear in this DMV.

Observação

DM db_index_operational_stats não retorna informações sobre índices com otimização de memória.sys.dm_db_index_operational_stats does not return information about memory-optimized indexes. Para obter informações sobre o uso de índice com otimização de memória, consulte sys.dm_db_xtp_index_stats (Transact-SQL).For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax


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 | NULO | 0 | PADRÃOdatabase_id | NULL | 0 | DEFAULT
ID do banco de dados.ID of the database. database_id está smallint.database_id is smallint. As entradas válidas são o número da ID de um banco de dados, NULL, 0 ou DEFAULT.Valid inputs are the ID number of a database, NULL, 0, or DEFAULT. O padrão é 0.The default is 0. NULL, 0 e DEFAULT são valores equivalentes neste contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para retornar informações de todos os bancos de dados na instância do SQL ServerSQL Server.Specify NULL to return information for all databases in the instance of SQL ServerSQL Server. Se você especificar NULL para database_id, você também deverá especificar NULL para object_id, index_id, e partition_number.If you specify NULL for database_id, you must also specify NULL for object_id, index_id, and partition_number.

A função interna DB_ID pode ser especificado.The built-in function DB_ID can be specified.

object_id | NULO | 0 | PADRÃOobject_id | NULL | 0 | DEFAULT
ID do objeto da tabela ou exibição em que o índice está ativado.Object ID of the table or view the index is on. object_id é int.object_id is int.

As entradas válidas são o número da ID de uma tabela e de uma exibição, NULL, 0 ou DEFAULT.Valid inputs are the ID number of a table and view, NULL, 0, or DEFAULT. O padrão é 0.The default is 0. NULL, 0 e DEFAULT são valores equivalentes neste contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para retornar informações em cache de todas as tabelas e exibições no banco de dados especificado.Specify NULL to return cached information for all tables and views in the specified database. Se você especificar NULL para object_id, você também deverá especificar NULL para index_id e partition_number.If you specify NULL for object_id, you must also specify NULL for index_id and partition_number.

index_id | 0 | NULO | -1 | PADRÃOindex_id | 0 | NULL | -1 | DEFAULT
ID do índice.ID of the index. index_id está int. As entradas válidas são o número de identificação de um índice, 0 se object_id for um heap, NULL, -1 ou padrão.index_id is int. Valid inputs are the ID number of an index, 0 if object_id is a heap, NULL, -1, or DEFAULT. O padrão é -1, NULL, -1 e DEFAULT são valores equivalentes neste contexto.The default is -1, NULL, -1, and DEFAULT are equivalent values in this context.

Especifique NULL para retornar informações em cache de todos os índices de uma tabela base ou exibição.Specify NULL to return cached information for all indexes for a base table or view. Se você especificar NULL para index_id, você também deverá especificar NULL para partition_number.If you specify NULL for index_id, you must also specify NULL for partition_number.

partition_number | NULO | 0 | PADRÃOpartition_number | NULL | 0 | DEFAULT
O número da partição no objeto.Partition number in the object. partition_number está int. As entradas válidas são o partion_number de um índice ou heap, NULL, 0 ou DEFAULT.partition_number is int. Valid inputs are the partion_number of an index or heap, NULL, 0, or DEFAULT. O padrão é 0.The default is 0. NULL, 0 e DEFAULT são valores equivalentes neste contexto.NULL, 0, and DEFAULT are equivalent values in this context.

Especifique NULL para retornar informações em cache de todas as partições do índice ou heap.Specify NULL to return cached information for all partitions of the index or heap.

partition_number é baseado em 1.partition_number is 1-based. Um heap ou índice não particionado tiver número_da_partição definido como 1.A nonpartitioned index or heap has partition_number set to 1.

Tabela retornadaTable Returned

Nome da colunaColumn name Tipo de dadosData type DescriptionDescription
database_iddatabase_id smallintsmallint ID do banco de dados.Database ID.
object_idobject_id intint ID da tabela ou exibição.ID of the table or view.
index_idindex_id intint ID do índice ou heap.ID of the index or heap.

0 = Heap0 = Heap
hobt_idhobt_id bigintbigint Aplica-se a: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) até a versão atual), Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version), Banco de dados SQL do AzureAzure SQL Database.

ID do heap de dados ou conjunto de linhas de árvore B que rastreia dados internos para um índice columnstore.ID of the data heap or B-tree rowset that tracks internal data for a columnstore index.

NULL – isso não é um conjunto de linhas columnstore interno.NULL – this is not an internal columnstore rowset.

Para obter mais detalhes, consulte sys.internal_partitions (Transact-SQL)For more details, see sys.internal_partitions (Transact-SQL)
partition_numberpartition_number intint Número de partição com base 1 no índice ou heap.1-based partition number within the index or heap.
leaf_insert_countleaf_insert_count bigintbigint Contagem cumulativa de inserções de nível folha.Cumulative count of leaf-level inserts.
leaf_delete_countleaf_delete_count bigintbigint Contagem cumulativa de exclusões de nível folha.Cumulative count of leaf-level deletes. leaf_delete_count só é incrementado para registros excluídos não são marcados como fantasma pela primeira vez.leaf_delete_count is only incremented for deleted records that are not marked as ghost first. Para registros excluídos são fantasma em primeiro lugar, leaf_ghost_count é incrementado em vez disso.For deleted records that are ghosted first, leaf_ghost_count is incremented instead.
leaf_update_countleaf_update_count bigintbigint Contagem cumulativa de atualizações de nível folha.Cumulative count of leaf-level updates.
leaf_ghost_countleaf_ghost_count bigintbigint Contagem cumulativa de linhas de nível folha marcadas como excluídas, mas não removidas ainda.Cumulative count of leaf-level rows that are marked as deleted, but not yet removed. Essa contagem não inclui registros serão excluídos imediatamente sem que está sendo marcada como fantasma.This count does not include records that are immediately deleted without being marked as ghost. Essas filas são removidas por um thread de limpeza em intervalos definidos.These rows are removed by a cleanup thread at set intervals. Esse valor não inclui linhas retidas que foram retidas, devido a uma transação de isolamento de instantâneo pendente.This value does not include rows that are retained, because of an outstanding snapshot isolation transaction.
nonleaf_insert_countnonleaf_insert_count bigintbigint Contagem cumulativa de inserções acima do nível folha.Cumulative count of inserts above the leaf level.

0 = Heap ou columnstore0 = Heap or columnstore
nonleaf_delete_countnonleaf_delete_count bigintbigint Contagem cumulativa de exclusões acima do nível folha.Cumulative count of deletes above the leaf level.

0 = Heap ou columnstore0 = Heap or columnstore
nonleaf_update_countnonleaf_update_count bigintbigint Contagem cumulativa de atualizações acima do nível folha.Cumulative count of updates above the leaf level.

0 = Heap ou columnstore0 = Heap or columnstore
leaf_allocation_countleaf_allocation_count bigintbigint Contagem cumulativa de alocações de página de nível folha no índice ou heap.Cumulative count of leaf-level page allocations in the index or heap.

Para um índice, uma alocação de página corresponde a uma página dividida.For an index, a page allocation corresponds to a page split.
nonleaf_allocation_countnonleaf_allocation_count bigintbigint Contagem cumulativa de alocações de página provocadas por divisões de página acima do nível folha.Cumulative count of page allocations caused by page splits above the leaf level.

0 = Heap ou columnstore0 = Heap or columnstore
leaf_page_merge_countleaf_page_merge_count bigintbigint Contagem cumulativa de mesclagens de página no nível folha.Cumulative count of page merges at the leaf level. Sempre 0 para índice columnstore.Always 0 for columnstore index.
nonleaf_page_merge_countnonleaf_page_merge_count bigintbigint Contagem cumulativa de mesclagens de página acima do nível folha.Cumulative count of page merges above the leaf level.

0 = Heap ou columnstore0 = Heap or columnstore
range_scan_countrange_scan_count bigintbigint Contagem cumulativa de exames de intervalo e de tabela iniciados no índice ou heap.Cumulative count of range and table scans started on the index or heap.
singleton_lookup_countsingleton_lookup_count bigintbigint Contagem cumulativa de recuperações de linha única do índice ou heap.Cumulative count of single row retrievals from the index or heap.
forwarded_fetch_countforwarded_fetch_count bigintbigint Contagem de linhas buscadas por meio de um registro de encaminhamento.Count of rows that were fetched through a forwarding record.

0 = Índices0 = Indexes
lob_fetch_in_pageslob_fetch_in_pages bigintbigint Contagem cumulativa de páginas de LOB (objeto grande) recuperadas da unidade de alocação LOB_DATA.Cumulative count of large object (LOB) pages retrieved from the LOB_DATA allocation unit. Essas páginas contêm dados que são armazenados em colunas do tipo texto, ntext, imagem, varchar (max), nvarchar ( max), varbinary (max), e xml.These pages contain data that is stored in columns of type text, ntext, image, varchar(max), nvarchar(max), varbinary(max), and xml. Para obter mais informações, veja Tipos de dados (Transact-SQL).For more information, see Data Types (Transact-SQL).
lob_fetch_in_byteslob_fetch_in_bytes bigintbigint Contagem cumulativa de bytes de dados LOB recuperados.Cumulative count of LOB data bytes retrieved.
lob_orphan_create_countlob_orphan_create_count bigintbigint Contagem cumulativa de valores LOB órfãos criados para operações em massa.Cumulative count of orphan LOB values created for bulk operations.

0 = Índice não clusterizado0 = Nonclustered index
lob_orphan_insert_countlob_orphan_insert_count bigintbigint Contagem cumulativa de valores LOB órfãos inseridos durante operações em massa.Cumulative count of orphan LOB values inserted during bulk operations.

0 = Índice não clusterizado0 = Nonclustered index
row_overflow_fetch_in_pagesrow_overflow_fetch_in_pages bigintbigint Contagem cumulativa de páginas de dados de estouro de linha recuperada da unidade de alocação ROW_OVERFLOW_DATA.Cumulative count of row-overflow data pages retrieved from the ROW_OVERFLOW_DATA allocation unit.

Essas páginas contêm dados armazenados em colunas do tipo varchar (n), nvarchar (n), varbinary (n), e sql_variant que tenha sido enviado por push fora da linha.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 Contagem cumulativa de bytes de dados de estouro de linha recuperados.Cumulative count of row-overflow data bytes retrieved.
column_value_push_off_row_countcolumn_value_push_off_row_count bigintbigint Contagem cumulativa de valores de coluna para dados LOB e dados de estouro de linha empurrados para fora da linha para que uma linha atualizada ou inserida coubesse na 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 Contagem cumulativa de valores de coluna para dados de LOB e dados de estouro de linha puxados para dentro da linha.Cumulative count of column values for LOB data and row-overflow data that is pulled in-row. Isso ocorre quando uma operação de atualização libera espaço em um registro e fornece uma oportunidade de empurrar um ou mais valores para fora da linha das unidades de alocação LOB_DATA ou ROW_OVERFLOW_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 cumulativo de bloqueios solicitados.Cumulative number of row locks requested.
row_lock_wait_countrow_lock_wait_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine esperou por um bloqueio de linha.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine waited on a row lock.
row_lock_wait_in_msrow_lock_wait_in_ms bigintbigint Número total de milissegundos que o Mecanismo de Banco de DadosDatabase Engine esperou por um bloqueio de linha.Total number of milliseconds the Mecanismo de Banco de DadosDatabase Engine waited on a row lock.
page_lock_countpage_lock_count bigintbigint Número cumulativo de bloqueios de página solicitados.Cumulative number of page locks requested.
page_lock_wait_countpage_lock_wait_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine esperou por um bloqueio de página.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine waited on a page lock.
page_lock_wait_in_mspage_lock_wait_in_ms bigintbigint Número total de milissegundos que o Mecanismo de Banco de DadosDatabase Engine esperou por um bloqueio de página.Total number of milliseconds the Mecanismo de Banco de DadosDatabase Engine waited on a page lock.
index_lock_promotion_attempt_countindex_lock_promotion_attempt_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine tentou escalar bloqueios.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine tried to escalate locks.
index_lock_promotion_countindex_lock_promotion_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine escalou bloqueios.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine escalated locks.
page_latch_wait_countpage_latch_wait_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine esperou devido a uma contenção de travamento.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine waited, because of latch contention.
page_latch_wait_in_mspage_latch_wait_in_ms bigintbigint Número cumulativo de milissegundos que o Mecanismo de Banco de DadosDatabase Engine esperou devido a uma contenção de travamento.Cumulative number of milliseconds the Mecanismo de Banco de DadosDatabase Engine waited, because of latch contention.
page_io_latch_wait_countpage_io_latch_wait_count bigintbigint Número cumulativo de vezes que o Mecanismo de Banco de DadosDatabase Engine esperou em um travamento de página de E/S.Cumulative number of times the Mecanismo de Banco de DadosDatabase Engine waited on an I/O page latch.
page_io_latch_wait_in_mspage_io_latch_wait_in_ms bigintbigint Número cumulativo de milissegundos que o Mecanismo de Banco de DadosDatabase Engine esperou em uma trava de E/S de página.Cumulative number of milliseconds the Mecanismo de Banco de DadosDatabase 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 inclui apenas as páginas de árvore B de nível superior.Subset of page_latch_wait_count that includes only the upper-level B-tree pages. Sempre 0 para heaps ou índices columnstore.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 inclui apenas as páginas de árvore B de nível superior.Subset of page_latch_wait_in_ms that includes only the upper-level B-tree pages. Sempre 0 para heaps ou índices columnstore.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 inclui apenas as páginas de árvore B de nível superior.Subset of page_io_latch_wait_count that includes only the upper-level B-tree pages. Sempre 0 para heaps ou índices columnstore.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 inclui apenas as páginas de árvore B de nível superior.Subset of page_io_latch_wait_in_ms that includes only the upper-level B-tree pages. Sempre 0 para heaps ou índices columnstore.Always 0 for a heap or columnstore index.
page_compression_attempt_countpage_compression_attempt_count bigintbigint Número de páginas avaliadas por compactação de nível de PAGE para partições específicas de tabela, índice ou exibição indexada.Number of pages that were evaluated for PAGE level compression for specific partitions of a table, index, or indexed view. Inclui páginas que não foram compactadas porque economias significativas não puderam ser obtidas.Includes pages that were not compressed because significant savings could not be achieved. Sempre 0 para índice columnstore.Always 0 for columnstore index.
page_compression_success_countpage_compression_success_count bigintbigint Número de páginas de dados que foram compactadas com a compactação de PAGE para partições específicas de tabela, índice ou exibição indexada.Number of data pages that were compressed by using PAGE compression for specific partitions of a table, index, or indexed view. Sempre 0 para índice columnstore.Always 0 for columnstore index.

RemarksRemarks

Esse objeto de gerenciamento dinâmico não aceita parâmetros correlatos de CROSS APPLY e OUTER APPLY.This dynamic management object does not accept correlated parameters from CROSS APPLY and OUTER APPLY.

Você pode usar DM db_index_operational_stats para rastrear o período de tempo em que os usuários devem aguardar para ler ou gravar em uma tabela, índice ou partição e identificar as tabelas ou índices que estão encontrando atividade de e/s significativa ou quente pontos de acesso.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 as seguintes colunas para identificar áreas de contenção.Use the following columns to identify areas of contention.

Para analisar um padrão comum de acesso para a partição de tabela ou índice, use estas colunas: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 a contenção de bloqueio e trava, use estas colunas:To identify latching and locking contention, use these columns:

  • page_latch_wait_count e page_latch_wait_in_mspage_latch_wait_count and page_latch_wait_in_ms

    Essas colunas indicam se há uma contenção de trava no índice ou heap e a importância da contenção.These columns indicate whether there is latch contention on the index or heap, and the significance of the contention.

  • row_lock_count e page_lock_countrow_lock_count and page_lock_count

    Essas colunas indicam quantas vezes o Mecanismo de Banco de DadosDatabase Engine tentou adquirir bloqueios de linha e página.These columns indicate how many times the Mecanismo de Banco de DadosDatabase Engine tried to acquire row and page locks.

  • row_lock_wait_in_ms e page_lock_wait_in_msrow_lock_wait_in_ms and page_lock_wait_in_ms

    Estas colunas indicam se há uma contenção de bloqueio no índice ou heap e a importância da contenção.These columns indicate whether there is lock contention on the index or heap, and the significance of the contention.

    Para analisar estatísticas de e/SS físicas em uma partição de índice ou heapTo analyze statistics of physical I/Os on an index or heap partition

  • page_io_latch_wait_count e page_io_latch_wait_in_mspage_io_latch_wait_count and page_io_latch_wait_in_ms

    Essas colunas indicam se foram emitidas E/S físicas para trazer as páginas de índice ou heap para a memória e quantas E/S foram emitidas.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.

Comentários sobre colunasColumn Remarks

Os valores na lob_orphan_create_count e lob_orphan_insert_count sempre deve ser igual.The values in lob_orphan_create_count and lob_orphan_insert_count should always be equal.

O valor nas colunas lob_fetch_in_pages e lob_fetch_in_bytes pode ser maior que zero para índices não clusterizados que contêm uma ou mais colunas LOB como colunas incluídas.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 obter mais informações, consulte Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns. Da mesma forma, o valor nas colunas row_overflow_fetch_in_pages e row_overflow_fetch_in_bytes pode ser maior que 0 para índices não clusterizados se o índice contiver colunas que podem ser enviados por push fora da linha.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.

Como são reiniciados os contadores no cache de metadadosHow the Counters in the Metadata Cache Are Reset

Os dados retornados pelo DM db_index_operational_stats existe somente enquanto o objeto de cache de metadados que representa o índice ou heap está disponível.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. Esses dados não são persistentes nem transacionalmente consistentes.This data is neither persistent nor transactionally consistent. Isso significa que você não pode usar esses contadores para determinar se um índice foi usado ou não, ou quando o índice foi usado pela ú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 obter informações sobre isso, consulte DM db_index_usage_stats (Transact-SQL).For information about this, see sys.dm_db_index_usage_stats (Transact-SQL).

Os valores de cada coluna são definidos como zero sempre que os metadados do heap ou do índice forem trazidos para o cache de metadados e as estatísticas são acumuladas até que o objeto do cache seja removido do cache de metadados.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. Portanto, um heap ou índice ativo provavelmente sempre terá seus metadados no cache e as contagens cumulativas poderão refletir a atividade desde que a instância do SQL ServerSQL Server foi iniciada pela última vez.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. Os metadados de um heap ou índice menos ativo são movidos para dentro e para fora do cache à medida que ele é usado.The metadata for a less active heap or index will move in and out of the cache as it is used. Como resultado, ele pode ou não ter valores disponíveis.As a result, it may or may not have values available. Descartar um índice fará com que as estatísticas correspondentes sejam removidas da memória e não sejam mais reportadas pela função.Dropping an index will cause the corresponding statistics to be removed from memory and no longer be reported by the function. Outras operações DDL em relação ao índice podem fazer com que o valor das estatísticas seja redefinido como zero.Other DDL operations against the index may cause the value of the statistics to be reset to zero.

Usando funções de sistema para especificar valores de parâmetroUsing System Functions to Specify Parameter Values

Você pode usar o Transact-SQLTransact-SQL funções DB_ID e OBJECT_ID para especificar um valor para o database_id e 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. No entanto, passar valores que não sejam válidos a essas funções pode causar resultados não intencionais.However, passing values that are not valid to these functions may cause unintended results. Sempre verifique se uma ID válida é retornada ao usar DB_ID ou OBJECT_ID.Always make sure that a valid ID is returned when you use DB_ID or OBJECT_ID. Para obter mais informações, consulte a seção comentários no db_index_physical_stats (Transact-SQL).For more information, see the Remarks section in sys.dm_db_index_physical_stats (Transact-SQL).

PermissõesPermissions

Requer as seguintes permissões:Requires the following permissions:

  • Permissão CONTROL para o objeto especificado dentro do banco de dadosCONTROL permission on the specified object within the database

  • A permissão VIEW DATABASE STATE para retornar informações sobre todos os objetos de banco de dados especificado, usando o curinga 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

  • A permissão VIEW SERVER STATE para retornar informações sobre todos os bancos de dados, usando o curinga de banco de dados @database_id = NULLVIEW SERVER STATE permission to return information about all databases, by using the database wildcard @database_id = NULL

    Conceder VIEW DATABASE STATE permite que todos os objetos no banco de dados sejam retornados, independentemente de qualquer permissão CONTROL negada a 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.

    Negar VIEW DATABASE STATE impede que todos os objetos do banco de dados sejam retornados, independentemente de qualquer permissão CONTROL concedida 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. Além disso, quando o curinga de banco de dados @database_id= NULL for especificado, o banco de dados é omitido.Also, when the database wildcard @database_id=NULL is specified, the database is omitted.

    Para obter mais informações, consulte funções e exibições de gerenciamento dinâmico (Transact-SQL).For more information, see Dynamic Management Views and Functions (Transact-SQL).

ExemplosExamples

A.A. Retornando informações de uma tabela especificadaReturning information for a specified table

O exemplo a seguir retorna informações de todos os índices e partições da tabela Person.Address no banco de dados AdventureWorks2012AdventureWorks2012.The following example returns information for all indexes and partitions of the Person.Address table in the AdventureWorks2012AdventureWorks2012 database. A execução dessa consulta exige, no mínimo, a permissão CONTROL para a tabela Person.Address.Executing this query requires, at a minimum, CONTROL permission on Person.Address table.

Importante

Ao usar as funções Transact-SQLTransact-SQL DB_ID e OBJECT_ID para retornar um valor de parâmetro, sempre verifique se uma ID válida é retornada.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. Se o banco de dados ou nome de objeto não puder ser encontrado, por não existir ou por estar escrito incorretamente, ambas as funções retornarão 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. A função sys.dm_db_index_operational_stats interpreta NULL como um valor de curinga que especifica todos os bancos de dados ou todos os objetos.The sys.dm_db_index_operational_stats function interprets NULL as a wildcard value that specifies all databases or all objects. Como pode se tratar de uma operação não intencional, os exemplos nesta seção demonstram a maneira segura de determinar a identificação do banco de dados e do objeto.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. Retornando informações para todas as tabelas e índicesReturning information for all tables and indexes

O exemplo a seguir retorna informações para todos os índices e tabelas na instância do SQL ServerSQL Server.The following example returns information for all tables and indexes within the instance of SQL ServerSQL Server. A execução desta consulta requer a permissão VIEW SERVER STATE.Executing this query requires VIEW SERVER STATE permission.

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

Consulte tambémSee Also

Exibições e funções de gerenciamento dinâmico (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
Exibições e funções de gerenciamento dinâmico relacionadas ao índice (Transact-SQL) Index Related Dynamic Management Views and Functions (Transact-SQL)
Monitorar e ajustar o desempenho 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)