Symptomy
Załóżmy, że korzystasz z funkcji zawsze włączonych grup dostępności w programie Microsoft SQL Server 2012, 2014 lub 2016. Za każdym razem, gdy wykonujesz zapytanie w pomocniczej bazie danych, kwerenda jest ponownie kompilowana. Ten problem występuje, ponieważ statystyki nie są poprawnie propagowane z serwera podstawowego do serwera pomocniczego. Po uruchomieniu śledzenia profilera znajdziesz coś podobnego do poniższego informującego o tym, że program SQL Server bada statystykę: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) Uwaga Jeśli wyłączysz opcję Automatyczne aktualizowanie statystyk lub Włącz opcję " Automatyczna aktualizacja statystyk" asynchronicznie , ten problem nie wystąpi.
Rozwiązanie
Problem został po raz pierwszy rozwiązany w następującej zbiorczej aktualizacji programu SQL Server:
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zalecamy pobranie i zainstalowanie najnowszych aktualizacji zbiorczych programu SQL Server:
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.