Partilhar via


sys.dm_db_index_usage_stats (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna contas de tipos diferentes de operações de índice e a hora em que cada tipo de operação foi executada pela última vez.

No Banco de Dados SQL do Azure, as exibições de gerenciamento dinâmico não podem expor informações que afetariam a contenção do banco de dados ou expor informações sobre outros bancos de dados aos quais o usuário tem acesso. Para evitar a exposição dessas informações, todas as linhas que contêm dados que não pertencem ao locatário conectado são filtradas.

Observação

A DMV sys.dm_db_index_usage_stats não retorna informações sobre índices com otimização de memória ou índices espaciais. Para obter informações sobre o uso de índice com otimização de memória, consulte sys.dm_db_xtp_index_stats (Transact-SQL).

Observação

Para chamar essa exibição do Azure Synapse Analytics ou do PDW (Analytics Platform System), use sys.dm_pdw_nodes_db_index_usage_stats. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição
database_id smallint ID do banco de dados no qual a tabela ou exibição é definida.

No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou em um pool elástico, mas não em um servidor lógico.
object_id int ID da tabela ou exibição na qual o índice é definido.
index_id int ID do índice.
user_seeks bigint Número de buscas através de consultas de usuário.
user_scans bigint Número de verificações por consultas de usuário que não usaram o predicado 'seek'.
user_lookups bigint Número de pesquisas de indicador através de consultas de usuário.
user_updates bigint Número de atualizações através de consultas de usuário. Isso inclui Inserir, Excluir e Atualizações que representam o número de operações realizadas, não as linhas reais afetadas. Por exemplo, se você excluir 1000 linhas em uma instrução, essa contagem será incrementada em 1
last_user_seek datetime Hora da última busca de usuário.
last_user_scan datetime Hora do último exame de usuário.
last_user_lookup datetime Hora da última pesquisa de usuário.
last_user_update datetime Hora da última atualização de usuário.
system_seeks bigint Número de buscas através de consultas do sistema.
system_scans bigint Número de exames através de consultas do sistema.
system_lookups bigint Número de pesquisas através de consultas do sistema.
system_updates bigint Número de atualizações através de consultas do sistema.
last_system_seek datetime Hora da última busca do sistema.
last_system_scan datetime Hora do último exame do sistema.
last_system_lookup datetime Hora da última pesquisa do sistema.
last_system_update datetime Hora da última atualização do sistema.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.

Comentários

Cada busca, exame, pesquisa ou atualização individual no índice especificado pela execução de uma consulta é contado como um uso desse índice e incrementa o contador correspondente nessa exibição. As informações são relatadas para operações causadas por consultas enviadas pelo usuário e operações causadas por consultas geradas internamente, como exames de coleta de estatísticas.

A user_updates coluna é um contador de manutenção no índice causado por operações de inserção, atualização ou exclusão na tabela ou exibição subjacente. Você pode usar essa exibição para determinar quais índices são pouco usados por seus aplicativos. Também é possível usar a exibição para determinar quais índices estão incorrendo em sobrecarga de manutenção. Se desejar, você pode descartar índices que incorrem em sobrecarga de manutenção, mas são pouco usados para consultas ou não são usados.

Os contadores são inicializados para esvaziar sempre que o mecanismo de banco de dados é iniciado. Use a coluna sqlserver_start_time em sys.dm_os_sys_info para localizar a última hora de inicialização do mecanismo de banco de dados. Além disso, sempre que um banco de dados é desanexado ou desligado (por exemplo, porque AUTO_CLOSE está definido como ON), todas as linhas associadas a ele são removidas.

Quando um índice é usado, uma linha é adicionada se sys.dm_db_index_usage_stats ainda não existir uma linha para o índice. Quando a linha é adicionada, seus contadores são definidos como zero inicialmente.

Durante a atualização para o SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x), as entradas são sys.dm_db_index_usage_stats removidas. A partir do SQL Server 2016 (13.x), as entradas são mantidas como eram antes do SQL Server 2008 R2 (10.50.x).

Permissões

No SQL Server e na Instância Gerenciada de SQL, requer a permissão VIEW SERVER STATE.

Nos objetivos de serviço do Banco de Dados SQL Básico, S0 e S1 e para bancos de dados em pools elásticos, é necessário ter a conta do administrador do servidor, a conta do administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader## função de servidor. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader## são necessárias.

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Confira também

Exibições e funções de gerenciamento dinâmico relacionadas ao índice (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Monitorar e ajustar o desempenho