Sintomas
Assuma que utiliza a funcionalidade AlwaysOn Availability Groups no Microsoft SQL Server 2012, 2014 ou 2016. Sempre que executa uma consulta contra uma base de dados secundária, a consulta é recompilada. Este problema ocorre porque as estatísticas não são propagadas corretamente do servidor primário para o servidor secundário. Se executar o rastreio do perfil, encontrará algo semelhante com o seguinte sobre o StatMan, o que significa que o servidor SQL está a consultar estatísticas:SELECT StatMan([SC0], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [xxx] AS [SC0] FROM [dbo].[xxx] TABLESAMPLE SYSTEM (7.033584e-001 PERCENT) WITH (READUNCOMMITTED) ) AS _MS_UPDSTATS_TBL_HELPER ORDER BY [SC0], [SB0000] ) AS _MS_UPDSTATS_TBL OPTION (MAXDOP 1) Nota Se desativar a opção Estatísticas de Atualização Automática ou ativar a opção Desincronous de Informação Automática, este problema não ocorre.
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Recomendamos que descarregue e instale as últimas atualizações cumulativas para o SQL Server:
Referências
Conheça a terminologia que a Microsoft utiliza para descrever atualizações de software.