Was sind die Vor- und Nachteile von Olas Skripten gegenüber der Verwendung eines Wartungsplans?

9

Können Sie mir bitte helfen, die Vor- und Nachteile der Verwendung der Ola-Lösung gegenüber dem Wartungsplan zu verstehen? Ich habe eine Präsentation basierend auf SQL Pass ( http://www.pass.org/DownloadFile.aspx?File=ebae1b31 ) vorbereitet, die ich präsentieren werde.

Ich bereite auch einige Szenarien vor, die die Lösungsadressen von Ola und die Wartungsplanlösung nicht erfüllen. Können Sie mir bitte alle helfen, dies technischer zu erklären?

Übrigens verwalten wir über 150 Server (Mix von 2008/2012/2014/2016) mit Olas Lösung auf mindestens 75% von ihnen. Ich mochte diesen Artikel von Brent Ozar. In einem der Kommentare hat Brent jedoch empfohlen, eine skriptbasierte Lösung für die Anzahl der Server zu verwenden, die wir haben. https://www.brentozar.com/archive/2012/04/maintenance-plans-roombas-suck-good-way/

Klopfen
quelle
Sprechen wir über Backups, Index- / Statistikpflege, Korruptionsprüfung oder all das oben Genannte?
Nkdbajoe
Alle von ihnen. Komplettes Wartungslösungsskript von Ola. Ich habe Probleme mit unnötigen Indexwiederherstellungen und Statistikaktualisierungen im Wartungsplan mithilfe von Olas Skripten behoben. Ich wollte nur etwas mehr technische Munition von anderen Datenbankadministratoren da draußen. Danke.
Pat
2
Ich persönlich glaube, dass die beste Lösung eine Lösung ist, die Ihren Geschäftsanforderungen und Ihrer Fähigkeit entspricht, sie zu lösen, sobald ein Fehler auftritt. Olas Lösung ist im Allgemeinen nicht schlecht, aber ich bevorzuge immer noch meine eigene maßgeschneiderte Lösung für meine Umgebung. Für die Indexpflege möchte ich beispielsweise parallele Ausführungen durchführen, um Zeit zu sparen. Olas Lösung funktioniert hier nicht. Ich möchte inkrementelle Statistiken aktualisieren, Olas Lösung funktioniert auch hier nicht.
Jyao
Haben Sie Daten, die zeigen, dass sie besser sind, oder gehen Sie einfach mit dem um, was Sie für besser halten? Der beste Weg, um das Problem zu lösen, besteht darin, einige Leistungsdaten zu erhalten, um zu zeigen, warum eine Methode besser ist
Joe W
Für die Indexpflege ist Ihr SAN- und Speichersubsystem häufig der begrenzende Faktor. Abhängig von Ihrer SAN-Konfiguration können Sie bei parallelen Neuerstellungen möglicherweise keine Verbesserung feststellen.
Alen

Antworten:

13

Ich habe hier geschrieben

Wartungspläne sind nicht schlecht, aber wenn Ihre Umgebung wächst, wird die begrenzte Flexibilität und Funktionalität, die Wartungspläne bieten, nicht ausreichen.

Um mehr hinzuzufügen,

  • Die Wartungslösung von Ola ist in der Community und in großen Organisationen weit verbreitet .
  • Seine Open-Source-Probleme und Probleme können bei Github / Issues angesprochen werden, mit der Wahrscheinlichkeit, dass sie sehr schnell behoben werden.
  • Es ist flexibel und skalierbar (selbst wenn Sie es auf Hunderten von Servern bereitstellen möchten, verwenden Sie einfach Install-DbaMaintenanceSolution von dbatools.)
  • Microsoft hat fast ein Jahrzehnt gebraucht, um die fehlerhafte Benutzeroberfläche des Wartungsplans zu reparieren :-)
  • verfügt über umfangreiche Dokumentationen und häufig gestellte Fragen ( FAQs) und wird ständig aktualisiert, um neueren SQL Server-Versionen Rechnung zu tragen.
  • In der Vorschau-Version können Sie sogar Backups parallel ausführen.
  • Bei einer Indexpflegelösung können Sie den Prozess sogar zeitlich festlegen, z. B. wenn er länger als X Mal ausgeführt wird, brechen Sie ihn ab.
Kin Shah
quelle
5

Einer der Hauptvorteile einer skriptbasierten Lösung ist die einfache Bereitstellung - etwas, das in Ihrem Fall eindeutig relevant ist, da Sie über mehr als 150 Server verfügen. Der Versuch, mehrere Wartungspläne (dh mindestens 2, einen für Systemdatenbanken und einen für Benutzerdatenbanken) auf 150 Servern einzuführen, wäre ein Albtraum. Es ist genauso mühsam, sie einmal an Ort und Stelle zu halten.

Eine skriptbasierte Lösung ist im Laufe der Zeit viel einfacher bereitzustellen und zu warten. Olas Skripte sind ziemlich umfassend und decken die meisten Bedürfnisse ab. Sie sind ein guter Ausgangspunkt für jede Organisation, um sie an ihre eigenen Anforderungen anzupassen.

In unserem Fall haben wir ungefähr 40 SQL-Instanzen in unserer DEV-Umgebung und verwenden modifizierte Ola-Skripte mit der Mehrfachverbindungsfunktion von SSMS, um Änderungen am Wartungsregime auf allen 40 Instanzen mit einem Klick durchführen zu können. Sonderfälle werden durch unsere Änderungen behandelt.

Mike
quelle
3

Ich bin mir seiner Skripte nicht 100% sicher, aber benutzerdefinierte Skripte sind viel besser als Wartungspläne. Mit den integrierten Plänen wird jeder Index in einer Tabelle neu erstellt, unabhängig von der geringen Fragmentierung. Wenn Sie Always On haben, wird ein Verkehrssturm erzeugt.

Mit benutzerdefinierten Skripten können Sie alles über 20% oder einen beliebigen Schwellenwert neu erstellen. Es werden weniger Indizes gleichzeitig neu erstellt. Weniger Always On-Daten zum Senden an Secondaries. Schnellere Neuerstellung, da Sie weniger Indizes neu erstellen. Kürzeres Wartungsfenster erforderlich.

Als ich das letzte Mal Wartungspläne verwendet habe, hatte ich eine 300-Millionen-Zeilentabelle und Always On war Stunden hinterher, wenn Indexwiederherstellungen gestartet wurden und Probleme mit dem Überlaufen des Transaktionsprotokolls auftraten. Ging zurück zu Skripten und alles ging weg.

Alen
quelle
1
Ich habe ursprünglich um 2007 mein eigenes für SQL 2005 geschrieben. Ich habe die Online-Bücher als Basis verwendet und ein wenig geändert. Damals schienen die meisten Leute die Pläne benutzt zu haben und jetzt scheint es sich umgekehrt zu haben. Und bevor ich anfing, DBA-Sachen zu machen, hatte der vorherige DBA vor mir benutzerdefinierte Skripte für SQL 2000. Das einzige, was ich anders machte, war, dass ich alles neu erstellt habe. Es war schneller, etwas über 20% oder 30% wieder aufzubauen, als es auch neu zu organisieren. Für Backups haben wir immer Produkte von Drittanbietern verwendet
Alen
1

Außerdem ist mein Lieblingsgrund, dass ich den Sicherungstyp automatisch wechseln kann, damit eine neue Datenbank beim ersten Ausführen des Protokollsicherungsjobs eine vollständige Sicherung erhält, anstatt zu warten, bis der nächste vollständige Sicherungsjob ausgeführt wird.

SQLDBAWithABeard
quelle
0

Wartungspläne reichen die meiste Zeit aus. Ola Hallengrens Skripte werden die meiste Zeit gut funktionieren.

In sehr seltenen Fällen müssen Sie möglicherweise Ihre eigenen anbauen.

Wie Jyao sagte, kommt es darauf an, mit wem Sie am angenehmsten arbeiten. Wenn Ihr Mitarbeiter mit Wartungsplänen am besten vertraut ist, warum sollten Sie Ihre Unterhosen in eine Wendung bringen?

Wenn er seit mehr als 20 Jahren Datenbanken erstellt, hat er bereits seine eigenen Wartungsskripte geschrieben. Ungefähr zu der Zeit, als Sie das Fahren lernten, gab es wahrscheinlich einen jungen Punk in Cargo-Shorts und Fliplops, der lautete: "Hey, du alter Kodierer, Wartungspläne sind besser - und zieh deine Hosen runter, du siehst lächerlich aus! ".

Dann gab es wahrscheinlich einen 4-Jahres-Kampf, in dem der bescheidene Junge, wann immer er konnte, in einen Wartungsplan schlüpfte. Jetzt sagt ihm dieser andere junge Punk mit Röhrenjeans und einer verdammten Fliege, er solle zu den Drehbüchern zurückkehren. Es ist genug, um deine Haare grau zu machen.

Drei Dinge zu beachten:

Sind diese Beispiele für die Überlegenheit der Hallengreniten tatsächlich auf Ihre Umgebung anwendbar?

Wird es Ihnen ein tatsächliches Problem bereiten, wenn er Wartungspläne verwendet?

Wenn Sie ihn davon überzeugen, Hallengrens Skripte zu verwenden, und es ein Problem gibt, kann er es dann selbst lösen oder muss er Sie anrufen?

James
quelle
Antwort auf die ersten beiden Fragen Ja. Wir haben bereits Probleme mit Wartungsplänen gesehen, und ich habe diese mit Olas Lösung behoben. Es gab auch eine Schrumpfprotokollaufgabe (??) auf dem Produktionsserver, die ich sofort deaktivierte. Dritte Frage, ich weiß es nicht. Ich bin nicht sicher, ob er Probleme lösen kann, die durch den Wartungsplan selbst verursacht wurden. Was sollen wir tun, wenn ich ihn frage, falls wir Probleme damit sehen? Seine Antwort war, den Microsoft-Support anzurufen. (??)
Pat
@Pat, ahh, hört sich an, als hätte er nach dem Peter-Prinzip sein Limit erreicht. Seien Sie vorsichtig und versuchen Sie, ihn besser zu machen - er wird die Hilfe wahrscheinlich nicht zu schätzen wissen.
James