Sintomi
Si supponga di usare la caratteristica gruppi di disponibilità AlwaysOn in Microsoft SQL Server 2012, 2014 o 2016. Ogni volta che si esegue una query su un database secondario, la query viene ricompilata. Questo problema si verifica perché le statistiche non vengono propagate correttamente dal server primario al server secondario. Se si esegue la traccia del profiler, si troverà qualcosa di simile con il seguente informazioni su statore che indica che SQL Server sta eseguendo query sulle statistiche: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 si disattiva l'opzione di aggiornamento automatico delle statistiche o si Abilita l'opzione di aggiornamento automatico delle statistiche , il problema non si verifica.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. È consigliabile scaricare e installare gli aggiornamenti cumulativi più recenti per SQL Server:
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.