Wir haben dieses Problem in unserer Produktionsumgebung.
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) - Enterprise Edition (64-Bit) unter Windows NT 6.1 (Build 7601: Service Pack 1).
SQL Server löscht alle (fast 100%) alten Ausführungspläne und erstellt sie täglich über Nacht (von 23:00 Uhr bis 08:00 Uhr) neu. Dies geschah sogar, als die "Auto-Update-Statistiken" deaktiviert waren. Wir haben die "Auto-Update-Statistiken" für die letzten 2-3 Wochen aktiviert. Aber es passiert immer noch.
Wir wissen nicht genau, was diese Neuerstellung von Plänen auslöst, aber wir sind sicher, dass wir dies nicht manuell tun.
Das einzige, was wirklich mit dem Zeitpunkt der Wiederherstellung der Pläne zusammenfällt, ist ein DB-Wartungsjob, den wir haben: die tägliche Indexreorganisation (bei einer Fragmentierung von 5-30%) und die tägliche Indexrekonstruktion (bei einer Fragmentierung von mehr als 30%). ) Job. Normalerweise führt diese tägliche Wartung nur eine Reorganisation durch (da die Indexfragmentierung täglich nie mehr als 30% beträgt).
Einschlag:
Diese neu erstellten Pläne bewirken, dass einige UDF-Aufrufe / Abfrageaufrufe (die von der Benutzeroberfläche / von Webseiten aus aufgerufen werden) viel länger dauern (Minuten statt weniger als 1 Sekunde), sodass die Sitzungen sich nur aufstapeln und die CPU fast 90% beanspruchen. .
Das Problem verschwindet in dem Moment, in dem diese blockierten Sitzungen zwangsweise gelöscht werden (auf der DB-Seite) und 1) wenn alle entsprechenden Ausführungspläne manuell gelöscht werden (für Abfragen) oder 2) wenn die UDFs geändert werden (für Funktionen). Alle neuen Pläne, die von diesem Moment an von SQL Server erstellt wurden, funktionieren den ganzen Tag über einwandfrei, bis am nächsten Morgen dasselbe Problem auftritt. Außerdem ist dieses Verhalten nicht zu 100% konsistent. Wir sehen es nicht jeden Morgen. Aber es hat Zeiträume gegeben, in denen wir es 4-5 Tage hintereinander durchgehend gesehen haben.
Das Problem tritt vormittags auf, wenn die Benutzeroberfläche oder die Webseiten offenbar intensiver aufgerufen werden.
Hat jemand eine Ahnung, was dies verursacht und wie man dieses Problem löst? Jede Hilfe wäre sehr dankbar.