Estou usando a edição padrão do SQL Server 2016 SP1.
A visualização dm_db_index_physical_stats é muito lenta em bancos de dados grandes. Mesmo se eu especificar a opção 'LIMITED'.
Eu uso a view para obter a fragmentação do índice, para determinar se devo fazer um REBUILD ou um REORG na minha manutenção. Mas à medida que os bancos de dados crescem, a chamada para o DMV dm_db_index_physical_stats leva cada vez mais tempo. Em alguns bancos de dados, que podem ter até 1 TB, pode levar uma hora para consultar o DMV. (Não tenho tempo de inatividade, sempre há clientes conectados ao banco de dados trabalhando.)
Então eu queria saber se existe uma maneira de saber a fragmentação do índice sem consultar o DMV.
Vou apenas resumir as ótimas sugestões que foram feitas na seção de comentários:
A resposta curta é Não, você tem que usar o DMV.
Uma possível alternativa para usar o DMV em todo o banco seria fazer por tabela, mas preciso fazer para o banco inteiro, e já divido a manutenção do índice em vários dias para que caiba o máximo possível na manutenção janela.
Outra alternativa seria restaurar o banco de dados em outro servidor e reunir a fragmentação do índice ali.
Eu também posso tentar ver se há alguns índices não utilizados e ver se consigo remover alguns. Achei essa consulta muito útil, se puder servir para outra pessoa. Se você vir índices sem leituras e somente gravações, significa que o índice é usado apenas quando você insere linhas na tabela, mas nunca nas consultas SELECT. Você pode então analisar e decidir se é útil e deve ser mantido.