Симптоми
Предположите, че използвате функцията за групи за достъпност на AlwaysOn в Microsoft SQL Server 2012, 2014 или 2016. Всеки път, когато изпълнявате заявка във вторична база данни, заявката се компилира отново. Този проблем възниква, защото статистиката не се разпространява правилно от основния сървър към вторичния сървър. Ако изпълните проследяването на профили, ще намерите нещо подобно на следното за статора , което означава, че SQL Server е статистически данни за заявки: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) Забележка Ако забраните опцията за автоматично актуализиране на статистиката или разрешете опцията за автоматично актуализиране на статистиката , този проблем не възниква.
Решение
Първоначално проблемът е коригиран в следната сборна актуализация на SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Препоръчваме ви да изтеглите и инсталирате последните сборни актуализации за SQL Server:
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.