Estou usando o Microsoft SQL Server Profiler para capturar dados de rastreamento de produção para reprodução em um servidor de desenvolvimento para testar alterações de indexação. Capturar o rastreamento não é problema: estou usando um modelo de rastreamento "TSQL_Replay" com o evento "Showplan XML Statistics Profile" adicionado. Na captura original, posso ver o plano de execução nos dados de rastreamento.
O problema é quando eu reproduzo esses dados de rastreamento no servidor de desenvolvimento. Não vejo nenhuma opção para configurar as opções de rastreamento de reprodução. Posso verificar "Exibir tempo de execução" e obter tempos para consultas individuais, mas não consigo ver os planos de execução que são executados quando o rastreamento é reproduzido. Isso é crítico para determinar como os novos índices estão sendo usados. Tentei executar um rastreamento paralelo separado no servidor de desenvolvimento enquanto reproduzo o rastreamento original, mas os replays não parecem ser captados.
Alguma dica sobre como medir resultados ao reproduzir um rastreamento?
Tentei usar o RML Utilities e o Database Experimentation Assistant, mas não descobri como fazer nenhum deles funcionar para esse caso de uso.
Por padrão, o Profiler adiciona um filtro à coluna ApplicationName para se autofiltrar. Remova esse filtro e você deverá ver a atividade de reprodução no Profiler.
Acabei de ativar o QueryStore no banco de dados de destino. Uma dica seria usar DBCC CLONEDATABASE que copiará o esquema, as estatísticas e os dados do querystore, mas não o conteúdo da tabela do usuário.
Há uma ferramenta de relatório integrada, mas eu prefiro o QueryStore.