Autostat (AUTO_UPDATE_STATISTICS) in SQL Server-Verhalten steuern

Gilt für: SQL Server 2016 StandardSQL Server 2016 EnterpriseSQL Server 2014 Standard Mehr

Zusammenfassung


Dieser Artikel Dokumente Ablaufverfolgungsflag 2371 mit generiert der Abfrageoptimierer bei Autostats in einer Tabelle steuern. Er führt auch ein neues DMV sys.dm_db_stats_properties Element, das Sie prüfen können, um zu entscheiden, ob Statistiken für eine Tabelle manuell aktualisiert werden muss.

Hinweis für SQL Server 2016 oder höher:
  • Datenbanken mit Kompatibilität Ebene 130: Ihnen mehr Ablaufverfolgungsflag 2371 in SQL Server 2016 oder höher nicht aktivieren, da das entsprechende Verhalten ist standardmäßig aktiviert.
  • Datenbanken mit 120 oder niedrigeren Kompatibilitätsgrad: Dieser Artikel (2754171) noch gilt, und aktivieren Sie weiterhin das Ablaufverfolgungsflag 2371 Stat Updates häufiger ausgelöst.
Weitere Informationen finden Sie in der Standardeinstellung automatisch Statistiken aktualisieren Schwellenwert ändern SQL Server 2016.
 

Weitere Informationen


Auto Update Statistics Feature von SQL Server basiert auf der Anzahl der Zeilen, die geändert oder aktualisiert, um zu bestimmen, ob die Aktualisierung der Statistik erforderlich ist.  Statistiken für eine Tabelle werden nur automatisch aktualisiert, wenn die Anzahl der Zeilen geändert einen Schwellenwert überschreiten.  Dieser Schwellenwert wird im KB-Artikel http://support.microsoft.com/kb/195565 beschrieben.

Allerdings wird eine Tabelle sehr groß, alte Schwellenwert (feste Rate 20 % der Zeilen geändert) möglicherweise zu hoch und Autostat Prozess kann nicht häufig genug ausgelöst. Dies kann zu Performanceproblemen führen. SQL Server 2008 R2 Service Pack 1 oder höher einführen Ablaufverfolgungsflag 2371 Sie dieses Standardverhalten ändern können. Je höher die Anzahl der Zeilen in einer Tabelle, je niedriger der Schwellenwert werden um eine Aktualisierung der Statistiken auszulösen. Beispielsweise aktiviert das Ablaufverfolgungsflag wird Update Statistics ausgelöst werden in einer Tabelle mit 1 Million Zeilen Wenn 1 Million ändert. Wenn Ablaufverfolgungsflags nicht aktiviert ist, müssten dieselbe Tabelle 1 Mrd. Datensätze 200 Millionen Änderungen vor der Aktualisierung Statistiken ausgelöst werden.

Die folgende Anleitung können Sie das neue Ablaufverfolgungsflag in Ihrer Umgebung aktivieren:

  1. Wenn Leistungsprobleme durch veraltete Statistiken nicht eingehalten wurden, ist dieses Ablaufverfolgungsflags aktivieren müssen.
  2. Wenn Sie SAP-Systeme sind, aktivieren Sie dieses Ablaufverfolgungsflags.  Finden Sie in diesem Blog http://blogs.msdn.com/b/saponsqlserver/archive/2011/09/07/changes-to-automatic-update-statistics-in-sql-server-traceflag-2371.aspx Weitere Informationen.
  3. Auf Nachtzeiten Statistiken aktualisieren, da die aktuelle automatische Updates nicht ausgelöst haben häufig genug in Betracht Ablaufverfolgungsflag 2371 der Schwellenwert zu.

Sys.dm_db_stats_Properties DMV: Starten von SQL Server 2008 R2 SP2 und Service Pack 1 für SQL Server 2012, neue DMV sys.dm_db_stats_Properties eingeführt, um genauer verfolgen die Anzahl der Zeilen in einer Tabelle geändert wird.   Diese DMV können zu erkennen der Anzahl der Zeilen in einer Tabelle geändert Statistiken manuell aktualisieren möchten. Weitere Informationen finden Sie auf der folgenden Seite in der SQL Server-Onlinedokumentation:

Sys.dm_db_stats_properties (Transact-SQL)

Die folgende Tabelle enthält weitere Informationen zu den Produkten und Tools, die für diese Bedingung auf die Instanz von SQL Server und der Versionen SQL Server die Regel ausgewertet wird automatisch überprüft.
Regel-SoftwareRegel-TitelBeschreibungProduktversionen, die Regel ausgewertet wird
System Center AdvisorSQL Server hat veraltete Statistiken, die Leistungsprobleme verursachen können.System Center Advisor überprüft mit sys.dm_db_stats_Properties DMV Statistikinformationen und gibt eine Warnung aus, wenn der Spalte Änderung mehr als 1000 ist. Überprüfen Sie die Informationen in diesem Artikel und Maßnahmen Sie erforderlichen.SQL Server 2008 R2 Service Pack 2 und höher.

SQL Server 2012 Service Pack 1 und höher.