Unser Produktions-SQL Server 2008 R2 beginnt manchmal langsam zu arbeiten: Alle Abfragen beginnen zu langsam zu arbeiten (und manchmal hängen alle Abfragen einfach und warten etwas und fahren dann fort). Dies dauert normalerweise mehrere Minuten.
Ich habe gelesen, dass Statistiken mit automatischen Updates manchmal den Server verlangsamen können:
Gibt es einen Grund, Statistiken manuell zu aktualisieren?
Ich sehe, dass manchmal automatische Aktualisierungsstatistiken für ziemlich große Indizes auftreten (1,7 GB Größe, Tabelle mit 5,5 Millionen Zeilen). Ich kann das Datum der letzten Aktualisierung für Statistiken über STATS_DATE sehen, aber ich kann die Dauer dieses Prozesses nicht sehen.
Könnten Sie bitte vorschlagen, wie ich die Dauer der automatischen Aktualisierung der Statistik sehen kann? Oder wie kann ich feststellen, dass Statistiken zur automatischen Aktualisierung Probleme verursachen?
Vielen Dank.
PS Nachdem wir auf diese Leistungsprobleme gestoßen waren, begann ich, Wartestatistiken zu überwachen. Der höchste Wartetyp ist CXPACKET. Sie variiert zwischen 36% und 60% aller Wartezeiten. Und am Morgen, wenn der Arbeitstag beginnt, hat er den maximalen Wert während des Arbeitstages (Benutzer arbeiten normalerweise 12 Stunden am Tag mit der Anwendung). Der zweithöchste Wartetyp ist SOS_SCHEDULER_YIELD (15% -20%).
Ich habe einige Beiträge im Internet gefunden, in denen erwähnt wird, dass die Wartezeit von CXPACKET zeigt, dass automatische Aktualisierungsstatistiken Probleme verursachen. Aber ich habe keinen wirklichen Beweis für solche Aussagen gefunden. Mir ist klar, dass CXPACKET Probleme mit der parallelen Ausführung von SQL-Abfragen aufweisen kann (von http://www.dbadiaries.com/reducing-sql-server-cxpacket-wait-type ).