Ich habe festgestellt, dass einige DBAs SQL Server sehr häufig neu starten, manchmal sogar nachts. Ich glaube, sie tun dies, um Speicher freizugeben oder um Abfragen zu beschleunigen. Ich weiß, dass Abfragepläne nach einem Neustart neu kompiliert werden müssen, auch wenn ich mich frage, ob diese Vorgehensweise einen Nettovorteil hat.
Stimmt es, dass ein täglicher Neustart von SQL Server die Ausführung beschleunigt?
quelle
Die anderen Antworten sind zwar gut, ihnen fehlt jedoch ein wichtiges Element: der Windows-Dateicache.
Unter 64-Bit-Windows gibt es keine Obergrenze für den Speicher, den Windows zum Zwischenspeichern von Dateien verwendet. Windows kann Ihr System vollständig entleeren und zu diesem Zeitpunkt werden Sie auf die Festplatte wechseln. Es wurde an einigen Stellen dokumentiert:
Durch einen Neustart von SQL Server erzwingen Sie, dass SQL Speicher freigibt, wodurch Windows mehr Speicher erhält, und der Seitenwechsel wird vorübergehend angehalten. SQL startet erneut mit einer Speicherauslastung von nahezu Null und steigt allmählich an. Wenn die Box wieder über genügend Speicher verfügt, hilft der Neustart vorübergehend. Wenn Sie das gesamte Betriebssystem neu starten, erzwingen Sie auch die Verwendung des Windows-Dateicache.
Die eigentliche Lösung: Beenden Sie das Kopieren von Dateien vom Windows-Server oder begrenzen Sie den Umfang des Dateicaches, der mit dem Dynamic File Cache Service verwendet wird, wie in den obigen Blogposts dokumentiert.
quelle
Wenn dadurch Abfragen beschleunigt werden, ist möglicherweise ein Parameter-Sniffing erforderlich. Wenn ein Mistplan zwischengespeichert und auf unangemessene nachfolgende Aufrufe angewendet wird, ermöglicht das Wunder des Neustarts, dass der gemeinsame / korrekte Plan zwischengespeichert wird. In diesem Fall gibt es unendlich bessere Möglichkeiten, das Verhalten zu korrigieren, als andere angegeben haben. Solange die Box nicht neu gestartet wird, können keine Ursachenanalysen durchgeführt werden.
quelle
Sie sollten SQL Server erst dann neu starten, wenn Sie die Diensteigenschaften geändert oder Startprotokolle festgelegt haben, die sofort wirksam werden sollen.
Da @RemusRusanu viele Punkte angegeben hat, werden viele Caches gelöscht, und SQL Server führt zu vielen unnötigen Startvorgängen .
Es scheint, dass dieser Server kein dedizierter SQL Server / Datenbankserver ist. Es wird empfohlen, dass ein Produktionsdatenbankserver nur einen Zweck hat: ein Datenbankserver zu sein. In diesem Fall würden Sie genügend Arbeitsspeicher und Ressourcen für das Betriebssystem reservieren und alles andere an SQL Server übergeben. Dies würde dazu führen, dass Sie keine anderen Anwendungen oder Serverrollen aushungern.
quelle
Ich stimme der Ansicht zu, dass Sie Ihren MSSQL-Server möglicherweise nicht neu starten / neu starten müssen, wenn Sie alles richtig machen.
Für mich gilt dies für das Szenario, in dem jeder kompetent ist und Sie alles reparieren können.
Ich bin kein DBA. Ich bin ein Software-Architekt und dazu gehört es, komplette Datenbankschemata von Grund auf neu zu erstellen und leider mit Datenbanken von Drittanbietern zu arbeiten, über die ich keinerlei Kontrolle habe.
Die Leute, die eine unserer wichtigsten Datenbanken von Drittanbietern erstellt und gepflegt haben, haben sie kaum funktionsfähig gemacht.
Habe ich erwähnt, dass ich auch kein Sicherheitsexperte oder Netzwerkingenieur bin?
Für mich wird die Frage dann: Soll ich SQL Server öfter als alle 3 Monate neu starten?
Planen von Neustarts, um zusätzliche Leistung zu versprechen, ist wie Regentanzen.
Vielleicht kommt es, vielleicht nicht, aber Sie werden nicht genau wissen, warum es geregnet hat.
Ich sage nicht gern, dass Sie es NIEMALS neu starten müssen, um ein Problem zu beheben oder ein Failover zu überprüfen, aber ich tue es ein Problem mit Scheduling - Neustarts müssen eine unbekannte Leistungsproblem zu verhindern , zufällig auftreten.
Die einzige Ausnahme ist, wenn Sie eine Drittanbieter-Datenbank verwalten, bei der ein wöchentlicher oder zweimaliger Neustart der einzige Weg ist, um den Betrieb aufrechtzuerhalten, und Sie dürfen sie nicht reparieren oder gar berühren.
Selbst dann sollten Sie nach Lösungen suchen, diese mit dem Eigentümer teilen und die Hölle in Schwung bringen, bis sie behoben ist.
quelle