Kontrolowanie zachowania Autostat (AUTO_UPDATE_STATISTICS) w programie SQL Server

Dotyczy: SQL Server 2016 StandardSQL Server 2016 EnterpriseSQL Server 2014 Standard Więcej

Streszczenie


Tego artykułu dokumentów flagi śledzenia 2371, którego można użyć do sterowania, kiedy Optymalizator kwerend generuje statystyk automatycznych na stole. Wprowadzono również nowy element sys.dm_db_stats_properties DMV, który można sprawdzić podjęcie decyzji, czy należy ręcznie zaktualizować statystyki dla tabeli.

Uwaga dla programu SQL Server 2016 lub nowszym:
  • Dla baz danych o zgodności na poziomie 130: nie masz już włączyć flagę śledzenia 2371 w programie SQL Server 2016 lub nowszej, ponieważ odpowiednie zachowanie jest domyślnie włączona.
  • W przypadku baz danych z poziomem zgodności 120 lub niższej: nadal stosuje się artykuł ten KB (2754171) i nadal należy włączyć flagę śledzenia 2371 wyzwolić częstsze aktualizacje stat.
Aby uzyskać więcej informacji zobacz domyślne automatyczne statystyki aktualizacji progu zmian dla SQL Server 2016.
 

Więcej informacji


Funkcja auto update statystyki programu SQL Server opiera się na liczbę wierszy zmienione lub zaktualizowane w celu określenia, czy wymagana jest aktualizacja statystyki.  Statystyki tabeli będą automatycznie aktualizowane Jeśli liczba wierszy zmieniła się przekracza próg.  Ten próg jest udokumentowana w artykule KB http://support.microsoft.com/kb/195565 .

Jednak po tabeli staje się bardzo duży, stare próg (stały kurs 20% wierszy zmieniła) może być zbyt duża i Autostat proces może nie zostać wyzwolone wystarczająco często. Może to prowadzić do ewentualnych problemów z wydajnością. Dodatek Service Pack 1 dla programu SQL Server 2008 R2 i nowszych wersjach wprowadzenie flagi śledzenia 2371, które możesz zmienić to zachowanie domyślne. Im wyższa liczba wierszy w tabeli, im niższy próg staną się do wyzwalania aktualizacji statystyk. Na przykład jeśli flagi śledzenia jest włączona, aktualizacja statystyki będzie wyzwalany przy tabelę z wierszami 1 miliard wystąpienia zmian 1 milion. Jeśli flagi śledzenia nie został aktywowany, tej samej tabeli z rekordami 1 miliard musiałby 200 milionów zmian przed aktualizacją wyzwolenia statystyki.

Poniższe wskazówki służą umożliwiających nową flagę śledzenia w danym środowisku:

  1. Jeśli problemy z wydajnością spowodowane nieaktualne statystyki nie zostanie dotrzymane, istnieje potrzeba aby włączyć tej flagi śledzenia.
  2. Jeśli używasz systemów SAP, włączyć tej flagi śledzenia.  Odnoszą się do tego blogu http://blogs.msdn.com/b/saponsqlserver/archive/2011/09/07/changes-to-automatic-update-statistics-in-sql-server-traceflag-2371.aspx Aby uzyskać dodatkowe informacje.
  3. Jeśli musisz polegać na pracy nocnej w celu aktualizacji statystyk, ponieważ bieżącej aktualizacji automatycznych nie jest wyzwalany często wystarczająco dużo, należy rozważyć włączenie flagi śledzenia 2371 zmniejszyć próg.

sys.dm_db_stats_Properties Nowy sys.dm_db_stats_Properties DMV DMV: Uruchamianie programu SQL Server 2008 R2 z dodatkiem SP2 i dodatku Service Pack 1 dla programu SQL Server 2012, wprowadzona do bardziej dokładnie śledzić liczbę wierszy zmieniła się w tabeli.   DMV ten służy do wykrywania liczba wierszy zmieniła się w tabeli i zdecydować, czy chcesz ręcznie zaktualizować statystyki. Dodatkowe informacje znajdują się na stronie w dokumentacji SQL Server Books Online:

sys.dm_db_stats_properties (Transact-SQL)

Poniższa tabela zawiera więcej informacji na temat produktów lub narzędzi, które automatycznie sprawdza ten warunek wystąpienia programu SQL Server i wersje produktu SQL Server, przeciwko której sprawdzane jest reguła.
Reguła oprogramowaniaNazwa regułyOpis regułyWersje produktu, przeciwko którym reguła jest oceniane
Doradca programu System CenterSQL Server ma stare dane statystyczne, co może spowodować problemy z wydajnością.Doradca System Center sprawdza za pomocą sys.dm_db_stats_Properties DMV informacje statystyczne i wywołuje alert, jeśli licznik modyfikacji kolumna jest więcej niż 1000. Przejrzyj informacje zawarte w tym artykule i podjąć niezbędne działania.SQL Server 2008 R2, dodatku Service Pack 2 i nowszych wersjach.

Dodatek Service Pack 1 dla programu SQL Server 2012 i nowszych wersjach.