4 Methoden: SQL Server-Datenbank automatisch sichern
Wie lassen sich SQL Server-Datenbanken automatisch sichern? Normalerweise können Sie den Wartungsplan oder den SQL Server Agent verwenden. Aber für SQL Server Express müssen Sie ein Transact-SQL-Skript erstellen.
Wie kann ich SQL Server-Datenbanken automatisch sichern?
Es ist vielleicht keine große Sache, von Zeit zu Zeit mehrere SQL Server-Datenbanken zu sichern, aber wenn die Anzahl der Datenbanken groß ist oder Sie aus Gründen der Datenkonsistenz häufig Backups erstellen müssen, wäre es mühsam, dies jedes Mal manuell zu tun.
Daher fragen Sie sich vielleicht, wie Sie SQL Server-Backups automatisch erstellen können. Und es gibt mehr als eine Lösung:
◆ Für normale SQL-Benutzer ist die Verwendung des Wartungsplans oder des SQL Server-Agenten in SSMS (SQL Server Management Studio) der einfachste Weg. Sie funktionieren ähnlich, aber wenn Sie überhaupt keinen Befehl oder kein Skript verwenden möchten, können Sie sich für Ersteres entscheiden.
◇ Allerdings sind diese Tools in SSMS nicht verfügbar, wenn Sie die Express-Editionen von SQL Server verwenden. Stattdessen müssen Sie eine Stapeldatei mit der Befehlszeile erstellen und die Aufgabenplanung verwenden, um sie zu automatisieren.
◆ Wenn Sie diese Methoden als mühsam empfinden, können Sie auch die automatische SQL-Backup-Software als Alternative verwenden. Damit können Sie Datenbanken oder Instanzen mit einfachen Klicks automatisch sichern, unabhängig davon, ob es sich um die Express-Edition handelt oder nicht.
Klicken Sie auf den Ankertext unten, um zu der entsprechenden Methode für die automatische SQL-Sicherung zu gelangen:
Methode 1. SQL-Datenbank automatisch über einen Wartungsplan sichern
Ein Wartungsplan erstellt einen Ablauf der Aufgaben zur Wartung Ihrer Datenbank. Sie können ihn auch für den SQL Server-Backup-Zeitplan verwenden.
1. Starten Sie SSMS und verbinden Sie sich mit Ihrem Server. Erweitern Sie das Menü Verwaltung unter einer Instanz, klicken Sie dann mit der rechten Maustaste auf Wartungspläne, um einen neuen Wartungsplan zu erstellen, oder öffnen Sie den Wartungsplanungs-Assistent.
Beide sind im Wesentlichen gleich, aber der Assistent führt Sie durch die gesamte Operation. Hier wähle ich den erstgenannten als Beispiel.
2. Sie werden aufgefordert, diesem Plan einen Namen zu geben. Nach Bestätigung können Sie auf der linken Seite auf das Toolbox-Symbol klicken und die Aufgabe „Datenbank sichern“ in den unteren Teil des Wartungsplanfensters ziehen.
3. Doppelklicken Sie auf die erstellte Aufgabe, um sie in einem Popup-Fenster zu konfigurieren. Wählen Sie zuerst den Sicherungstyp aus „Voll“, „Differenziell“ oder „Transaktionsprotokoll“. Wählen Sie dann eine oder mehrere zu sichernde Datenbank(en) aus. Klicken Sie auf OK, um dies zu bestätigen. Wenn Sie mehr als eine Datenbank ausgewählt haben, können Sie auch Für jede Datenbank eine Sicherungsdatei erstellen wählen, wenn Sie möchten.
- Voll-Backup umfasst alle Datenbankobjekte, Systemtabellen, Daten und Transaktionen, die während des Backups auftreten.
- Differenzielles Backup enthält die Daten, die sich geändert haben, und die Transaktionen, die während des Backup-Prozesses seit dem letzten vollständigen Backup aufgetreten sind.
- Transaktionsprotokoll-Backup enthält Transaktionen, die auf einer Datenbank seit dem vorherigen Transaktionsprotokoll-Backup aufgetreten sind, und kürzt dann das Transaktionsprotokoll. Ein Transaktionsprotokoll-Backup gewährleistet die Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt, z.B. vor einem Datenverlust.
4. Jetzt können Sie auf das Kalendersymbol klicken, nämlich Zeitplan des Unterplans, um die Aufgabe für automatisches Datenbank-Backup zu planen. Für einen zeitbasierten SQL-Sicherungszeitplan können Sie die Auswahl „Wiederholt“ als Zeitplantyp beibehalten und die Häufigkeit und Dauer weiter konfigurieren.
Alternativ können Sie die Aufgabe auch „Automatisch starten, wenn der SQL Server-Agent startet“ oder „Starten, wenn sich die CPUs im Leerlauf befinden“ machen.
5. Speichern Sie die Änderungen, und jetzt haben Sie das automatische SQL Server-Backup eingerichtet. Sie können dann die Aufgabe unter SQL Server Agent finden, und alle Backups werden gemäß dem festgelegten Zeitplan erstellt.
Das ist die Art und Weise, wie Sie mit dem GUI-Assistent ein automatisches SQL Server-Backup einrichten. Wenn Sie etwas über T-SQL wissen, können Sie die nächste Methode in Betracht ziehen.
Methode 2. Geplanten Auftrag zur Datenbanksicherung mit SQL Server-Agent erstellen
SQL Server-Agent ist ein Dienst, der geplante administrative Aufträge ausführt. Jeder Auftrag enthält einen oder mehrere Auftragsschritte, und jeder Schritt enthält seine eigene Aufgabe, z. B. Datenbanksicherung.
1. Um es zu verwenden, starten Sie SSMS und verbinden Sie sich mit Ihrer Instanz. Stellen Sie sicher, dass der SQL Server Agent aktiviert ist. Wenn nicht, klicken Sie mit der rechten Maustaste darauf und starten Sie ihn. Wählen Sie dann Aufträge > Neuer Auftrag im Kontextmenü.
2. Das Fenster „Neuer Auftrag“ wird angezeigt. Sie können seinen „Namen“ und seine „Beschreibung“ im Tab Allgemein eingeben.
3. Wechseln Sie dann zum Tab Schritte, klicken Sie links unten auf Neu, um ihn zu konfigurieren. Stellen Sie zuerst sicher, dass der Typ „Transact-SQL-Skript (T-SQL)“ ist, und wählen Sie die Datenbank als „master“. Geben Sie anschließend den Befehl zur Durchführung der Sicherung ein.
Der grundlegende Befehl für die Datenbanksicherung lautet wie folgt:
BACKUP DATABASE example
TO DISK = 'D:\SQL Server\Beispiel.bak';
Sie müssen nur den Datenbanknamen und den Dateipfad nach Bedarf ersetzen. Wenn Sie eine differenzielle Sicherung für die Datenbank(en) durchführen möchten, können Sie eine Zeile „WITH DIFFERENTIAL“ hinzufügen. Beachten Sie jedoch, dass zuvor eine vollständige Sicherung erstellt werden muss.
Um das Transaktionsprotokoll zu sichern, ersetzen Sie einfach die „DATABASE“ durch „LOG“ im Befehl:
BACKUP LOG example
TO DISK = 'D:\SQL Server\Beispiel.trn';
Klicken Sie auf OK, um den Befehl zu bestätigen, und wechseln Sie dann zum Tab Zeitplan, um das SQL Server-Backup zu automatisieren.
4. Klicken Sie ebenfalls auf Neu, um einen neuen Zeitplan zu erstellen. Sie können ihm einen Namen geben, einen Zeitplantyp auswählen und die Häufigkeit nach Belieben konfigurieren. Wenn alles komplett ist, klicken Sie auf OK, um es zu speichern.
5. Die Haupteinrichtung ist abgeschlossen. Sie können auf OK klicken, um sie sofort auszuführen, oder mit der Konfiguration der Alarme und Benachrichtigungen fortfahren.
Sobald alles an seinem Platz ist, können Sie mit der rechten Maustaste auf den erstellten Auftrag klicken, Auftrag bei Schritt starten... wählen, um zu testen, ob er ordnungsgemäß funktioniert. Falls nicht, verwenden Sie bitte die Option Verlauf anzeigen im Kontextmenü, um nach Fehlern zu suchen.
Beachten Sie, dass diese Funktion nicht für SQL Express-Backups verfügbar ist. Wenn Sie eine Express-Edition verwenden, fahren Sie bitte mit der nächsten Lösung fort.
Methode 3. SQL Server (Express) automatisch über die Aufgabenplanung sichern
Obwohl es mehrere Lösungen für automatische SQL Server-Backups gibt, haben Sie in Express-Editionen nicht so viele Auswahlmöglichkeiten. Ohne die im SSMS integrierten Funktionen Wartungsplan und SQL Server Agent müssen Sie eine Batch-Datei für ein Transact-SQL-Skript erstellen und den Windows Task Scheduler verwenden, um es zu automatisieren.
Hier ist, was vorzubereiten ist und wie Sie SQL Server Express-Backups automatisch durchführen können:
1. Verbinden Sie sich mit Ihrer SQL Server Express-Instanz, suchen Sie nach Gespeicherten Prozeduren unter Datenbanken > Systemdatenbanken > master > Programmierbarkeit. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Neue gespeicherte Prozedur.
2. Kopieren Sie im SQLQuery-Fenster den gesamten Inhalt in diesem von Microsoft bereitgestellten SQL Express Backups-Skript und klicken Sie dann auf die Schaltfläche Ausführen. Es wird eine gespeicherte Prozedur sp_BackupDatabases in Ihrer master-Datenbank erstellen.
3. Öffnen Sie einen Texteditor und geben Sie das Sicherungsskript ein. Der grundlegende Befehl für die vollständige Sicherung sah so aus:
sqlcmd -S server -E -Q "EXEC sp_BackupDatabases @backupLocation='path', @backupType='F'"
Beispielsweise möchte ich alle Datenbanken in der lokalen benannten Instanz von MSSQLSERVER_01 unter Verwendung der Windows-Authentifizierung sichern. Der Befehl lautet:
sqlcmd -S .\MSSQLSERVER_01 -E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQL Server\', @backupType='F'"
- Sie können den Namen von Server und Instanz aus den Servereigenschaften kopieren. Stellen Sie sicher, dass er korrekt ist.
- Wenn Sie die SQL Server-Authentifizierung verwenden möchten, können Sie die die folgenden Schalter hinzufügen: -U -P.
- Der Schalter -E bedeutet, eine vertrauenswürdige Verbindung zu verwenden, und kann nicht zusammen mit -U oder -P verwendet werden.
- Um ein differenzielles Backup durchzuführen, ersetzen Sie bitte das letzte „F“ durch „D“. Ebenso können Sie „L“ für die Sicherung des Transaktionsprotokolls verwenden.
Sie können auch einzelne SQL-Datenbanken sichern, wie Sie möchten, zum Beispiel:
sqlcmd -S .\MSSQLSERVER_01 -Q "BACKUP DATABASE example TO DISK ='D:\SQL Server\example.bak'"
4. Speichern Sie die Datei mit der Erweiterung .bat. Sie könnten ihr einen Namen wie Sqlbackup.bat geben.
5. Öffnen Sie die Aufgabenplanung, um die Backup-Batchdatei zu automatisieren. Sie können ihn entweder suchen, indem Sie in Windows nach „Aufgabenplanung“ suchen oder zu Systemsteuerung > Verwaltung > Aufgabenplanung gehen.
6. Klicken Sie auf Einfache Aufgabe erstellen und folgen Sie dem Assistenten, um einen Trigger auszuwählen. Wenn Sie das SQL Server-Backup automatisch täglich durchführen möchten, wählen Sie „Täglich“.
7. Wählen Sie die Aktion als „Programm starten“ aus und geben Sie die Batch-Datei als Programm an. Wenn die Einrichtung abgeschlossen ist, haben Sie eine automatische SQL Express-Sicherungsaufgabe zum Autostart.
Geplante SQL-Backups können viele Sicherungsdateien auf Ihrer Festplatte ansammeln. Wenn Sie diese täglichen Backups unterscheiden möchten, können Sie auch tägliche Datenbanksicherungen mit eindeutigen Namen in SQL Server erstellen.
Methode 4. SQL-Datenbank-Backup mit automatisierter Software planen
Alle oben genannten Methoden können einzelne oder mehrere Datenbanken sichern, sind jedoch nicht sehr einfach und geradlinig. Es besteht auch ein hohes Risiko von Fehlern aufgrund kleiner Auslassungen während des Einrichtungsvorgangs.
Um SQL Server-Datenbanken oder -Instanzen mühelos automatisch zu sichern, können Sie auch eine automatische SQL-Backup-Software wie AOMEI Cyber Backup ausprobieren. Sie verfügt über eine intuitive Benutzeroberfläche, mit der Sie ohne Fachkenntnisse arbeiten können. Damit können Sie einfach wie gewünscht so viele Datenbanken automatisch sichern. Neben SQL-Datenbanken unterstützt sie auch andere Datentypen wie die Sicherung virtueller Maschinen.
Diese Software funktioniert mit Windows 7 und Windows Server 2008 R2 und neuer, und sie ermöglicht es Ihnen, SQL Server 2005 bis 2022 zu sichern.
Sie können die 30-tägige kostenlose Testversion der SQL-Backup-Software herunterladen und einen zeitlich begrenzten Rabatt erhalten:
☛ Wie man das automatische MSSQL-Datenbank-Backup plant:
1. Starten Sie das installierte AOMEI Cyber Backup auf dem Server, navigieren Sie zu Quellgerät -> Microsoft SQL Server -> Microsoft SQL hinzufügen.
- Wählen Sie Proxy-Programm herunterladen (oder Link kopieren) und installieren Sie es auf dem Gerät mit SQL Server. Klicken Sie dann auf Bereits installierter Proxy und wählen Sie das Gerät aus.
- Klicken Sie anschließend auf -> Authentifizierung, um die Datenbankinstanz zu validieren. Sie können Windows-Authentifizierung oder SQL-Authentifizierung wählen.
☛ Wie man automatisch ein SQL Server-Datenbank-Backup durchführt:
1. Klicken Sie auf Sicherungsaufgabe -> Neue Aufgabe erstellen, um die Seite zur Erstellung der Aufgabe zu öffnen. Wählen Sie den Sicherungstyp als Microsoft SQL Backup.
2. Klicken Sie auf Gerätename, um die SQL-Instanzen und Datenbanken für das Backup festzulegen. Sie können eine oder mehrere Datenbanken auswählen, wie Sie benötigen.
3. Wählen Sie Ziel aus, um Backups zu speichern. Sie können entweder einen lokalen Pfad oder einen Netzwerkpfad angeben.
4. Bevor Sie die Sicherung starten, können Sie auch einen Zeitplan einrichten, um das SQL-Datenbank-Backup täglich, wöchentlich oder monatlich auszuführen. Außerdem können Sie die Sicherungsmethode als Voll-, Inkrementelles oder Differentielles Backup festlegen.
Führen Sie die Aufgabe aus. Sobald er fertig ist, finden Sie ihn auf der Registerkarte „Sicherungsaufgabe“.
✍ Weitere nützliche Funktionen:
- Backup-Bereinigung hilft Ihnen dabei, ältere Backup-Versionen automatisch zu löschen und somit Speicherplatz zu sparen.
- E-Mail-Benachrichtigung ermöglicht es Ihnen, E-Mail-Benachrichtigungen zu erhalten, wenn die Aufgabe abnormal oder erfolgreich ist.
Fazit
Hier werden 4 Methoden bereitgestellt, um das SQL-Backup zu planen und für Wiederherstellungsbedürfnisse SQL-Datenbank automatisch zu sichern. Wenn Sie kein Experte sind und mit Transact-SQL-Skripten nicht vertraut sind, könnte Methode 4 eine einfachere Lösung sein.