Mithilfe von Datenbankwartungsplänen können wir grundlegende Datenbankverwaltungsaktivitäten automatisieren. Wartungspläne sind SQL Server-Integrationsdienstpakete, die vom SQL Server-Agent-Job nach konfiguriertem Zeitplan ausgeführt werden. Mithilfe von Wartungsplänen können wir die folgenden Aufgaben automatisieren.
- Datenbank verkleinern
- Datenbank sichern
- Bedienerbenachrichtigung
- Datenbankstatistiken aktualisieren
- Prüfung der Datenbankintegrität durchführen
- SQL Server Agent-Jobs ausführen
- T-SQL-Skript ausführen
- Indizes neu organisieren oder neu erstellen
Darüber hinaus können wir eine Warnung einrichten, um einen DBA über den Status der Ausführung des Wartungsplans zu informieren, indem wir die Datenbank-E-Mail aktivieren.
In diesem Artikel werde ich erklären, wie man einen grundlegenden Wartungsplan erstellt, um eine Datenbankkonsistenzprüfung für eine Benutzerdatenbank durchzuführen.
Voraussetzungen zum Erstellen eines Datenbankwartungsplans
Um einen Datenbankwartungsplan zu erstellen, gelten folgende Voraussetzungen:
- Integrationsdienste müssen installiert sein
- Der SQL Server Agent-Dienst muss ausgeführt werden.
Integrationsdienste müssen ausgeführt werden
Wie ich bereits erwähnt habe, sind Datenbankwartungspläne SQL Server-Integrationsdienstpakete, daher müssen Integrationsdienste installiert werden, um sie auszuführen.
Um zu überprüfen, ob die Integrationsdienste installiert wurden, öffnen Sie den SQL Server Configuration Manager , wählen Sie SQL Server-Dienste aus im linken Bereich. Sie können die Version des Integrationsdienstes oben in der Liste anzeigen.
Wenn die Integrationsdienste nicht installiert wurden, installieren Sie sie mit dem SQL Server-Installationsprogramm. Siehe diesen Artikel als Referenz.
Der SQL Server Agent-Dienst muss ausgeführt werden
Database Mail sendet E-Mails oder Nachrichten mit dem SQL Server Agent Service. Wenn die Agentendienste nicht ausgeführt werden, kann SQL Server keine E-Mails senden. Wenn der Agent-Dienst nicht ausgeführt wird, werden alle Nachrichten in die Warteschlange gestellt, und wenn der Agent-Dienst startet, werden alle Nachrichten in der Warteschlange zugestellt.
Führen Sie den folgenden Befehl in SQL Server Management Studio aus, um den Status des Agent-Dienstes zu überprüfen.
use master go EXEC xp_servicecontrol N'querystate',N'SQLAgent$CMS'
Die Ausgabe sieht wie folgt aus:
Wenn der SQL Server Agent-Dienst nicht ausgeführt wird, müssen wir ihn starten. Um den SQL Server Agent-Dienst zu starten, öffnen Sie die Dienste und gehen Sie zur Systemsteuerung , klicken Sie auf Verwaltungstools , und klicken Sie dann auf Dienste . Suchen Sie in der Liste der Dienste nach SQL Server Agent . Klicken Sie mit der rechten Maustaste auf SQL Server-Agent und wählen Sie Starten .
Wenn Sie den Status des Wartungsplans per E-Mail versenden möchten, müssen Sie die Datenbank-E-Mail aktivieren Dies kann durch Ändern der Konfigurationsparameter der Datenbankinstanz erfolgen. Standardmäßig ist die Datenbank-E-Mail Funktion ist nicht aktiviert. Es muss aktiviert werden, indem der Konfigurationswert von Database Mail XPs. geändert wird
Um Datenbank-E-Mail zu aktivieren , führen Sie die folgenden Abfragen nacheinander aus.
USE master Go EXEC sp_configure 'show advanced options', 1 --Enable advance option Go RECONFIGURE Go EXEC sp_configure 'Database Mail XPs,' 1 --Enable database Mail option Go RECONFIGURE Go EXEC sp_configure 'show advanced options', 0 --Disabled advanced option Go RECONFIGURE Go
Demo-Setup
Für diese Demo werde ich einen Wartungsplan erstellen, um eine Datenbankkonsistenzprüfung auf der FileStream_Demo durchzuführen Datenbank. Der Wartungsplan wird jeden Sonntag um 0:00 Uhr ausgeführt.
SQL Server-Version :SQL Server 2017.
Software :SQL Server Management Studio.
Ein Datenbank-Wartungsplan kann entweder mit dem Wartungsplan-Assistenten erstellt werden oder über die Entwurfsoberfläche für Wartungspläne. Zuerst werde ich erklären, wie man den Wartungsplan mit dem Wartungsplan-Assistenten erstellt .
Erstellen Sie einen Wartungsplan mit dem Wartungsplan-Assistenten
Mit dem Assistenten für Datenbankwartungspläne können wir mehrere Wartungspläne erstellen . Der Assistent hat einige vordefinierte Wartungsaufgaben, die Schritt für Schritt konfiguriert werden können.
Um einen Wartungsplan mit dem Assistenten zu erstellen, öffnen Sie SSMS und erweitern Sie Verwaltung , klicken Sie mit der rechten Maustaste auf Wartungsplan und wählen Sie Wartungsplan-Assistent. aus
Der Wartungsplan-Assistent Es öffnet sich ein Dialogfeld, in dem Sie die Zusammenfassung der Aufgaben sehen können, die mit dem Assistenten ausgeführt werden können. Sie können es ignorieren und auf Weiter klicken .
Geben Sie im nächsten Dialog den gewünschten Namen und die Beschreibung des Wartungsplans an. Geben Sie den Benutzer oder das Konto an, das den Wartungsplan ausführt. Wie ich bereits erwähnt habe, können Sie mit dem Assistenten mehrere Wartungspläne erstellen. Dieser Dialog enthält eine Option zum Konfigurieren des Zeitplans. Sie können alle Aufgaben gleichzeitig ausführen oder einen einzigen Zeitplan für den gesamten Plan angeben. Geben Sie im Feld Name den gewünschten Namen und die Beschreibung an und Beschreibung Textfelder. SQL Server Agent führt den Wartungsplan aus, wenn SQL Server Agent-Dienstkonto ist ausgewählt. Unser Plan wird einzeln ausgeführt, wählen Sie daher Einzelner Zeitplan für den gesamten Plan oder kein Zeitplan .
Um den Zeitplan zu konfigurieren, klicken Sie auf Zeitplan Schaltfläche neben Ändern Textfeld. Der Neue Jobplan Dialogfeld öffnet sich. Geben Sie im Feld Name den gewünschten Namen an Textfeld. Der Wartungsplan wird wöchentlich ausgeführt, wählen Sie daher Wiederkehrend aus im Zeitplantyp Dropdown-Feld. Wie bereits erwähnt, wird der Wartungsplan wöchentlich ausgeführt, wählen Sie daher Wöchentlich aus im Dropdown-Feld und aktivieren Sie Sonntag. Die Aufgabe wird um 0:00 Uhr ausgeführt. Geben Sie daher 12:00:00 Uhr ein in das entsprechende Textfeld. Klicken Sie auf OK .
Sobald der Zeitplan konfiguriert ist, klicken Sie auf Weiter auf Planeigenschaften auswählen Dialog.
Klicken Sie auf Wartungsaufgaben auswählen Wählen Sie im Dialogfeld Datenbankintegrität prüfen aus Kontrollkästchen und klicken Sie auf Weiter .
Wenn mehrere Wartungsaufgaben konfiguriert wurden, können Sie diese in der Reihenfolge der Wartungsaufgaben auswählen anordnen Dialog. Es wird nur eine Aufgabe konfiguriert, dann ist hier keine Aktion erforderlich. Klicken Sie auf Weiter .
Wählen Sie im nächsten Dialog den Namen der Datenbank aus, in der die Wartungsaufgabe ausgeführt werden soll. Wählen Sie FileStream_Demo aus Datenbank aus den Datenbanken Dropdown-Feld und klicken Sie auf Weiter .
Wählen Sie im nächsten Dialog die Protokollierungsoption aus. Sie können den Ausführungsstatus des Wartungsplans in eine Textdatei schreiben oder eine Warn-E-Mail senden. Wählen Sie die gewünschte Option aus und klicken Sie auf Weiter .
Im nächsten Dialog können Sie die Zusammenfassung der durchgeführten Aufgaben zur Erstellung des Wartungsplans anzeigen. Überprüfen Sie sie und klicken Sie auf Fertig stellen .
Sobald der Plan erstellt ist, wird der Wartungsplan-Assistent angezeigt erfolgreich abgeschlossen.
Erstellen Sie einen benutzerdefinierten Wartungsplan mit der Wartungsplan-Designer-Oberfläche
Wie ich bereits erklärt habe, der Wartungsplan-Assistent verfügt über einige vordefinierte grundlegende Aufgaben, die keine weiteren Steuerungs- und Anpassungsoptionen bieten. Wenn Sie beispielsweise ein SQL-Skript ausführen möchten, bevor Sie eine Wartungsaufgabe ausführen, kann dies nicht mit dem Assistenten durchgeführt werden.
Um einen benutzerdefinierten Wartungsplan zu erstellen, öffnen Sie SQL Server Management Studio und erweitern Sie Verwaltung , klicken Sie mit der rechten Maustaste auf Wartungspläne , und wählen Sie Neuer Wartungsplan aus .
Geben Sie im Dialog den gewünschten Namen des Wartungsplans an und klicken Sie auf OK .
Der Wartungsplan-Designer öffnet. Es hat zwei Abschnitte. Im ersten Abschnitt können Sie den Namen und die Beschreibung des Wartungsplans angeben. Sie können die Eigenschaften des vorhandenen Teilplans ändern oder die Teilpläne zu den vorhandenen Wartungsplänen hinzufügen.
Die Beschreibung der einzelnen Komponenten:
Wenn Sie einen neuen Wartungsplan erstellen, erstellt SQL einen standardmäßigen Unterplan mit dem Namen Unterplan_1 . Wir können die Eigenschaften davon bearbeiten. Um den Standard-Teilplan zu bearbeiten, klicken Sie auf Teilplan-Eigenschaften bearbeiten Taste. Alternativ wählen Sie den Teilplan in der Rasteransicht aus und doppelklicken darauf. Die Subplan-Eigenschaften Dialogfeld öffnet sich. Geben Sie den gewünschten Namen des Teilplans an und klicken Sie auf OK .
Wie ich bereits erwähnt habe, erstellen wir einen Wartungsjob, um die Datenbankkonsistenzprüfung durchzuführen. Ziehen Sie Task "Datenbankintegrität prüfen" aus dem Wartungsplan Toolbox und ziehen Sie sie zum Wartungsplan-Designer Oberfläche.
Doppelklicken Sie auf Task "Datenbankintegrität prüfen" . Die Aufgabe Datenbankintegrität prüfen Dialogfeld öffnet sich.
Wählen Sie im Dialogfeld unter Verbindung die SQL Server-Verbindung aus Dropdown-Feld. Sie können auch eine neue Verbindung erstellen, indem Sie auf Neu klicken Taste. Wenn Sie auf die Datenbank(en) klicken Dropdown-Feld öffnet sich ein Dialogfeld mit mehreren Optionen. Sie können Konsistenzprüfungen durchführen für:
- Alle Datenbanken
- Nur Systemdatenbanken (master, msdb, model, TempDB)
- Benutzerdatenbanken
- Spezifische Datenbanken.
Sie können die Liste der Datenbanken, die offline sind, auch ignorieren. Wie bereits erwähnt, möchten wir eine Konsistenzprüfung der FileStream_Demo durchführen Datenbank. Wählen Sie FileStream_Demo aus aus den Diese Datenbanken Liste und klicken Sie auf OK .
Sobald die Aufgabe zur Überprüfung der Datenbankintegrität abgeschlossen ist, planen Sie ihre Ausführungszeit. Klicken Sie dazu auf den Kalender Schaltfläche in der Symbolleiste.
Alternativ können Sie auf den Teilplan doppelklicken, um Eigenschaften zu öffnen, und auf den Kalender klicken Schaltfläche neben dem Zeitplan Textfeld.
Der Neue Jobplan Dialogfeld öffnet sich. Wie bereits erwähnt, muss der Job jeden Sonntag um 00:00 Uhr ausgeführt werden, erstellen Sie daher den Zeitplan entsprechend. Im Namen Textfeld, geben Sie den gewünschten Namen des Jobs an, wählen Sie den gewünschten Zeitplantyp aus. In der Häufigkeit Wählen Sie im Abschnitt Wöchentlich aus im Vorkommen Textfeld. Der Job wird einmal pro Woche ausgeführt, wählen Sie daher 1 in Recurs every aus Textfeld. Wählen Sie darunter Sonntag aus . In der Tagesfrequenz Geben Sie im Abschnitt Erscheint einmal um die Uhrzeit an Textfeld. Der Job wird um 00:00 Uhr ausgeführt, geben Sie daher 00:00:00 Uhr ein. Wählen Sie schließlich das Startdatum des Jobs aus und klicken Sie auf OK .
Sobald der Zeitplan erstellt ist, können Sie die Zusammenfassung des Zeitplans im Zeitplan sehen Spalte der Teilplan-Rasteransicht.
Nachdem der Wartungsplan erstellt wurde, speichern Sie ihn. Sie können den Wartungsplan im Wartungsplan einsehen Verzeichnis unter Verwaltung .
Der SQL Server-Agent-Dienst führt den Wartungsplan aus; Daher wird der Zeitplan des Wartungsplans unter Job aufgeführt Verzeichnis. Um es anzuzeigen, öffnen Sie SSMS, erweitern Sie SQL Server Agent , und erweitern Sie Jobs .
Sie können den Wartungsplan manuell ausführen. Klicken Sie dazu mit der rechten Maustaste auf den Wartungsplan und klicken Sie auf Ausführen .
Der Wartungsplan wird erfolgreich abgeschlossen. Sie können den Bericht anzeigen, indem Sie auf Bericht klicken Schaltfläche und wählen Sie Bericht anzeigen aus Option.
Sie können die vorhandene Wartungsaufgabe auch auf einen anderen Server verschieben, indem Sie sie in das Dateisystem exportieren und manuell auf einem anderen Server bereitstellen. Wie bereits erwähnt, sind Datenbankwartungspläne Integrationsdienstpakete, die in der MSDB-Datenbank gespeichert sind. Um Wartungspläne in das Dateisystem zu exportieren, stellen Sie mithilfe von SQL Server Management Studio eine Verbindung zu Integrationsdiensten her, erweitern Sie die Gespeicherten Pakete Knoten und erweitern Sie dann Wartungspläne , klicken Sie mit der rechten Maustaste auf den Wartungsplan mit dem Namen Datenbankkonsistenzprüfungsjob und wählen Sie Paket exportieren .
Das Exportpaket Dialogfeld öffnet sich. Am Paketstandort Wählen Sie im Dropdown-Feld Dateisystem aus . Im Paketpfad Geben Sie im Textfeld den Speicherort ein, an dem der Wartungsplan gespeichert werden soll, und klicken Sie auf OK.
Der Wartungsplan wird an den gewünschten Ort exportiert.
Zusammenfassung
In diesem Artikel habe ich erklärt:
- Was Wartungspläne sind;
- Voraussetzungen zum Erstellen von Wartungsplänen;
- So erstellen Sie benutzerdefinierte Wartungspläne;
- Erstellen eines Wartungsplans mit dem Assistenten;
- So exportieren Sie einen Wartungsplan in das Dateisystem.
Nützliches Tool:
dbForge Studio für SQL Server – leistungsstarke IDE für die Verwaltung, Administration, Entwicklung, Datenberichterstattung und -analyse von SQL Server.