Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
Das Sichern von SQL Server-Datenbanken zählt zu den zentralsten Aufgaben von Datenbankadministratoren und IT-Teams. Zwar bietet SQL Server Management Studio (SSMS) eine grafische Oberfläche zum Erstellen von Sicherungen, dennoch bevorzugen viele Fachkräfte T-SQL-Abfragen – diese sind schneller, einfacher zu automatisieren und lassen sich unkompliziert in Wartungsskripte einbinden.
Die Nutzung von SQL-Abfragen verschafft Administratoren zudem mehr Kontrolle über Sicherungsvorgänge, wodurch sich diese hervorragend für geplante Aufträge, Notfallwiederherstellungspläne und die unternehmensweite Datenbankverwaltung eignen.
In dieser Anleitung lernen Sie, wie Sie SQL Server-Datenbanken per Abfragebefehl sichern. Es werden Voll-, Differenzial- und Transaktionsprotokollsicherungen, Sicherungsprüfungen, Wiederherstellungsvorgänge, die Automatisierung mit dem SQL Server-Agent sowie bewährte Fehlerbehebungsmethoden für eine zuverlässige Datensicherung behandelt. Sowohl Einsteiger als auch erfahrene DBAs erhalten mit diesem Tutorial die Grundlagen für eine belastbare SQL Server-Sicherungsstrategie.
Bevor Sie sich mit den Sicherungsbefehlen vertraut machen, ist es hilfreich zu verstehen, warum viele DBAs statt grafischer Tools auf T-SQL setzen.
Mithilfe von Abfragen führen Administratoren Sicherungsvorgänge direkt aus, ohne sich durch zahlreiche Menüs in SSMS navigieren zu müssen.
T-SQL-Sicherungsbefehle lassen sich in Aufträge des SQL Server-Agents, PowerShell-Skripte und unternehmensweite Automatisierungsabläufe integrieren.
Die Verwaltung von Sicherungen für mehrere Datenbanken fällt mit standardisierten Skripten deutlich leichter.
Bevor Sie Sicherungen erstellen, stellen Sie sicher, dass Ihre Umgebung die folgenden Anforderungen erfüllt.
Das Benutzerkonto, das den Sicherungsbefehl ausführt, muss über ausreichende Rechte verfügen.
Führen Sie folgende Abfrage aus:
SELECT IS_SRVROLEMEMBER('sysadmin');
Ergibt das Ergebnis 1, verfügt das Konto über Sysadmin-Berechtigungen.
Stellen Sie sicher, dass das Zielverzeichnis bereits existiert.
D:\SQLBackups\
Zusätzlich gelten folgende Punkte:
Das Dienstkonto von SQL Server benötigt Schreibberechtigungen für den Ordner.
Auf dem Ziellaufwerk muss ausreichend freier Speicherplatz vorhanden sein.
Der Speicherort für Sicherungen sollte regelmäßig überwacht werden.
Eine Schätzung der Datenbankgröße verhindert Sicherungsfehler aufgrund von unzureichendem Speicherplatz.
Führen Sie diesen Befehl aus:
EXEC sp_spaceused;
Prüfen Sie die Datenbankgröße, bevor Sie ein Sicherungsziel auswählen.
Die Anweisung BACKUP DATABASE ist der zentrale Befehl zum Erstellen von SQL Server-Datenbanksicherungen.
Wir gehen den Ablauf Schritt für Schritt durch.
Eine Vollständige Sicherung enthält die gesamte Datenbank inklusive aller Tabellen, Indizes, gespeicherten Prozeduren und Datensätze.
Führen Sie folgende Abfrage aus, um eine vollständige Sicherung zu erstellen:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Full.bak'
WITH
FORMAT,
INIT,
NAME = 'SalesDB Vollständige Sicherung';
Funktionsweise dieser Abfrage
BACKUP DATABASE SalesDB
Gibt die zu sichernde Datenbank an.
TO DISK
TO DISK = 'D:\SQLBackups\SalesDB_Full.bak'
Definiert Speicherort und Dateiname der Sicherung.
FORMAT
Erstellt einen neuen Mediensatz und entfernt alte Sicherungsheader.
INIT
Überschreibt eine bereits vorhandene Sicherungsdatei.
NAME
Fügt eine beschreibende Bezeichnung für den Sicherungssatz hinzu.
Erwartetes Ergebnis
Nach erfolgreicher Ausführung gibt SQL Server eine Meldung ähnlich dieser aus:
BACKUP DATABASE erfolgreich verarbeitet.
Die Sicherungsdatei befindet sich nun im angegebenen Verzeichnis.
Die Sicherungskomprimierung senkt den Speicherbedarf und kann die Sicherungsgeschwindigkeit verbessern.
Führen Sie folgenden Befehl aus:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Compressed.bak'
WITH COMPRESSION;
Vorteile der Komprimierung
Kleinere Sicherungsdateien
Geringere Speicherkosten
Schnellere Netzwerkübertragungen
Einfachere Sicherungsverwaltung
Für Produktionsdatenbanken wird die Komprimierung dringend empfohlen.
Das Erstellen einer Sicherung allein reicht nicht aus. Prüfen Sie stets, ob SQL Server die Datei fehlerfrei lesen kann.
Führen Sie diesen Befehl aus:
RESTORE VERIFYONLY
FROM DISK = 'D:\SQLBackups\SalesDB_Full.bak';
Erwartetes Ergebnis
Ist die Sicherung gültig, gibt SQL Server folgende Meldung aus:
Der Sicherungssatz in Datei 1 ist gültig.
Warum die Überprüfung unerlässlich ist
Viele Administratoren gehen davon aus, dass ein erfolgreicher Sicherungsauftrag eine Wiederherstellbarkeit garantiert. Trotzdem können Speicherfehler, Dateibeschädigungen oder Berechtigungsprobleme die Sicherungsdatei beeinträchtigen.
Der Befehl RESTORE VERIFYONLY hilft, potenzielle Fehler vor einem Ausfall zu erkennen.
SQL Server speichert alle Sicherungsvorgänge in der MSDB-Datenbank.
Führen Sie folgende Abfrage aus:
SELECT
bs.database_name,
bs.backup_start_date,
bs.backup_finish_date,
bs.type,
bmf.physical_device_name
FROM msdb.dbo.backupset bs
INNER JOIN msdb.dbo.backupmediafamily bmf
ON bs.media_set_id = bmf.media_set_id
ORDER BY bs.backup_finish_date DESC;
| Sicherungstyp | Bedeutung |
|---|---|
| D | Vollständige Sicherung |
| I | Differenzialsicherung |
| L | Transaktionsprotokollsicherung |
Diese Abfrage eignet sich zur Prüfung aller Sicherungsaktivitäten und zur Bestätigung der erfolgreichen Ausführung geplanter Aufträge.
Vollständige Sicherungen bieten einen umfassenden Schutz, können jedoch sehr groß sein und viel Zeit in Anspruch nehmen.
Eine Differenzialsicherung speichert ausschließlich Änderungen seit der letzten vollständigen Sicherung.
Führen Sie diesen Befehl aus, um eine Differenzialsicherung zu erstellen:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Diff.bak'
WITH DIFFERENTIAL;
Betrachten Sie folgendes Szenario:
| Tag | Sicherungstyp |
|---|---|
| Montag | Vollständige Sicherung |
| Dienstag | Differenzialsicherung |
| Mittwoch | Differenzialsicherung |
Die Differenzialsicherung vom Mittwoch enthält alle Änderungen seit der vollständigen Sicherung am Montag.
Für eine erfolgreiche Wiederherstellung benötigen Sie:
Die aktuellste vollständige Sicherung.
Die aktuellste Differenzialsicherung.
Dieser Ansatz reduziert die Größe der Sicherungen und ermöglicht eine effiziente Wiederherstellung.
Für Datenbanken im vollständigen Wiederherstellungsmodell sind Transaktionsprotokollsicherungen unverzichtbar.
Sie minimieren Datenverluste und ermöglichen eine Zeitpunkt-genaue Wiederherstellung.
Führen Sie folgende Abfrage aus:
SELECT
name,
recovery_model_desc
FROM sys.databases
WHERE name = 'SalesDB';
Lautet das Ergebnis FULL, können Sie Transaktionsprotokollsicherungen erstellen.
Führen Sie diesen Befehl aus:
BACKUP LOG SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Log.trn';
Vorteile von Transaktionsprotokollsicherungen
Erfassung aller aktuellen Transaktionen
Senkung des Recovery Point Objective (RPO)
Unterstützung der zeitpunktgenauen Wiederherstellung
Vermeidung eines übermäßigen Wachstums des Transaktionsprotokolls
Beispielszenario
Gehen Sie von folgender Konstellation aus:
Vollständige Sicherung um Mitternacht
Protokollsicherungen alle 15 Minuten
Datenbankausfall um 14:07 Uhr
Mithilfe der Protokollsicherungen stellen Sie die Datenbank bis ca. 14:06 Uhr wieder her und minimieren so den Datenverlust.
Das Erstellen von Sicherungen ist nur die Hälfte des Wiederherstellungsprozesses. Lernen Sie zudem, wie Sie im Notfall eine Datenbank wiederherstellen.
Führen Sie diesen Befehl aus, um eine Datenbank aus einer Sicherungsdatei wiederherzustellen:
RESTORE DATABASE SalesDB
FROM DISK = 'D:\SQLBackups\SalesDB_Full.bak'
WITH REPLACE;
Funktionsweise dieser Abfrage
RESTORE DATABASE
Gibt die wiederherzustellende Datenbank an.
FROM DISK
Definiert den Speicherort der Sicherungsdatei.
WITH REPLACE
Erlaubt SQL Server, eine vorhandene Datenbank zu überschreiben.
Prüfen Sie vor der Ausführung:
Es dürfen keine aktiven Verbindungen zur Datenbank bestehen.
Die Sicherungsdatei muss gültig sein.
Die Sicherung muss der passenden SQL Server-Version entsprechen.
Die vorhandene Datenbank wird vollständig überschrieben.
Überprüfung der wiederhergestellten Datenbank
Führen Sie nach der Wiederherstellung folgenden Befehl aus:
DBCC CHECKDB ('SalesDB');
Dieser Befehl prüft die Konsistenz der Datenbank und bestätigt die erfolgreiche Wiederherstellung.
Das manuelle Ausführen von Sicherungsabfragen eignet sich für Tests und Lernzwecke. In Produktivumgebungen ist eine Automatisierung erforderlich, um eine regelmäßige Ausführung der Sicherungen zu gewährleisten.
Der SQL Server-Agent ermöglicht das Erstellen automatisierter Sicherungsaufträge ohne manuellen Eingriff.
Navigieren Sie in SQL Server Management Studio (SSMS) zu folgendem Pfad:
Objekt-Explorer
→ SQL Server-Agent
→ Aufträge
→ Neuer Auftrag
Geben Sie einen aussagekräftigen Auftragsnamen ein, beispielsweise:
Tägliche vollständige Datenbanksicherung
Beschreibende Namen erleichtern spätere Wartung und Fehleranalyse.
Wählen Sie im neuen Auftrag den Punkt Schritte und erstellen Sie einen neuen Schritt.
Wählen Sie folgende Einstellungen:
Typ: Transact-SQL-Skript (T-SQL)
Datenbank: master
Geben Sie anschließend Ihren Sicherungsbefehl ein:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Full.bak'
WITH
COMPRESSION,
INIT;
Speichern Sie den Schritt.
Wählen Sie den Punkt Zeitpläne und erstellen Sie einen neuen Zeitplan.
Gängige Beispiele für Planungen:
| Umgebung | Empfohlener Zeitplan |
|---|---|
| Entwicklung | Täglich |
| Kleines Unternehmen | Tägliche vollständige Sicherung |
| Unternehmensproduktivumgebung | Voll- + Differenzial- + Protokollsicherungen |
Beispiel für eine Planung:
Täglich um 23:00 Uhr
oder
Jeden Sonntag um 01:00 Uhr
Der optimale Zeitplan hängt von den Geschäftsanforderungen und dem akzeptablen Datenverlustfenster ab.
Bevor Sie sich auf den automatischen Zeitplan verlassen, führen Sie den Auftrag manuell aus.
Prüfen Sie folgende Punkte:
Erstellung der Sicherungsdatei
Erfolgreiche Ausführung des Auftrags
Fehlende Berechtigungsfehler
Ausreichender Speicherplatz
Die Automatisierung senkt das Risiko vergessener Sicherungen und garantiert einen gleichmäßigen Datenschutz.
Auch einfache Sicherungsvorgänge können fehlschlagen, wenn die Umgebung unzureichend konfiguriert ist.
Im Folgenden die häufigsten Sicherungsfehler und deren Lösungen.
Typische Fehlermeldung
Betriebssystemfehler 5 (Zugriff verweigert).
Ursache
Das Dienstkonto von SQL Server verfügt über keine Schreibberechtigungen für das Zielverzeichnis.
Lösung
Prüfen Sie das SQL Server-Dienstkonto mit folgender Abfrage:
SELECT servicename, service_account
FROM sys.dm_server_services;
Gewähren Sie dem Konto Schreibzugriff auf das Sicherungsverzeichnis und wiederholen Sie die Sicherung.
Typische Fehlermeldung
Das Sicherungsgerät kann nicht geöffnet werden.
Betriebssystemfehler 3.
Ursache
Der angegebene Ordner existiert nicht oder der Dateipfad ist fehlerhaft.
Beispiel:
D:\SQLBackups\
Dieser Ordner ist auf dem Server nicht vorhanden.
Lösung
Prüfen Sie:
Ob das Verzeichnis existiert
Ob der Laufwerksbuchstabe korrekt ist
Ob SQL Server auf den Pfad zugreifen kann
Typische Fehlermeldung
Auf dem Datenträger ist nicht genügend freier Speicherplatz vorhanden.
Ursache
Auf dem Sicherungsziel steht nicht genug Speicher zur Verfügung.
Lösung
Folgende Maßnahmen helfen:
Löschen veralteter Sicherungsdateien
Erweitern der Speicherkapazität
Nutzung der Sicherungskomprimierung
Einführung von Aufbewahrungsrichtlinien für Sicherungen
Typische Fehlermeldung
BACKUP LOG kann nicht ausgeführt werden, da keine aktuelle Datenbanksicherung vorhanden ist.
Ursache
Vor einer Protokollsicherung muss mindestens eine vollständige Sicherung erstellt worden sein.
Lösung
Erstellen Sie zuerst eine vollständige Sicherung:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Full.bak';
Führen Sie anschließend die Protokollsicherung erneut aus.
Das Erstellen von Sicherungen ist wichtig – erst die Einhaltung bewährter Methoden garantiert eine erfolgreiche Wiederherstellung im Ausfallfall.
Speichern Sie Sicherungen niemals auf dem gleichen Datenträger wie die Produktivdatenbank.
Bei einem Ausfall des Speichergeräts gehen sonst sowohl Datenbank als auch Sicherungen verloren.
Ein besserer Aufbau sieht folgendermaßen aus:
Produktivdatenbank
↓
Dedizierter Sicherungsspeicher
↓
Externer oder Cloud-Speicher
Dieser Ansatz entspricht der weit verbreiteten 3-2-1-Sicherungsstrategie.
Viele Unternehmen prüfen zwar die Gültigkeit von Sicherungen, testen aber keine echte Wiederherstellung.
Führen Sie in regelmäßigen Abständen folgende Schritte durch:
Wiederherstellen der Sicherungen auf einem Testserver.
Prüfen der Funktionsweise aller Anwendungen.
Bestätigen der Datenintegrität.
Eine nicht wiederherstellbare Sicherung bietet keinen Schutz.
Die ausschließliche Nutzung von vollständigen Sicherungen verlängert das Sicherungsfenster und erhöht den Speicherbedarf.
Eine gängige Strategie sieht wie folgt aus:
| Sicherungstyp | Häufigkeit |
|---|---|
| Vollständige Sicherung | Wöchentlich |
| Differenzialsicherung | Täglich |
| Protokollsicherung | Alle 15–30 Minuten |
Dieser Ansatz balanciert Wiederherstellungsgeschwindigkeit und Speichereffizienz.
Fehlgeschlagene Sicherungsaufträge dürfen nicht unbemerkt bleiben.
Überwachen Sie folgende Punkte:
Ausfälle von Aufträgen
Dauer der Sicherungsvorgänge
Speichernutzung
Status abgeschlossener Sicherungen
Eine frühzeitige Fehlererkennung vermeidet Überraschungen bei einem Systemausfall.
Enthalten Sicherungen Kundendaten, Finanzdatensätze oder regulierte Daten, aktivieren Sie unbedingt die Verschlüsselung.
Beispielbefehl:
BACKUP DATABASE SalesDB
TO DISK = 'D:\SQLBackups\SalesDB_Encrypted.bak'
WITH ENCRYPTION
(
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
Die Verschlüsselung schützt Sicherungsdateien vor unbefugtem Zugriff.
T-SQL bietet eine hohe Flexibilität für Datenbanksicherungen. Mit wachsender Umgebung wird die manuelle Verwaltung jedoch zunehmend aufwendig.
Häufige Herausforderungen:
Unternehmen verwalten oft Dutzende oder Hunderte von Datenbanken auf unterschiedlichen Servern.
Die Pflege separater Sicherungsskripte für jede Instanz wird schnell komplex.
T-SQL-Skripte bieten kein einheitliches Dashboard zur Überwachung des Sicherungsstatus aller Umgebungen.
Administratoren müssen Auftragsverläufe und Protokolle manuell prüfen.
Die Wiederherstellung großer Umgebungen erfordert häufig:
Die Erkennung der korrekten Sicherungskette
Die Wiederherstellung mehrerer Dateien nacheinander
Die Prüfung der Wiederherstellungskonsistenz
Dies kann bei kritischen Ausfällen viel Zeit kosten.
Die manuelle Wartung birgt folgende Risiken:
Falsche Dateipfade
Vergessene Sicherungsaufträge
Falsch konfigurierte Aufbewahrungsregeln
Nicht durchgeführte Sicherungsprüfungen
Diese Probleme treten mit wachsender Umgebung häufiger auf.
Für Unternehmen mit geschäftskritischen Datenbanken ist eine erfolgreiche Sicherung nur ein Teil der Herausforderung. Ebenso wichtig sind zentrale Verwaltung, Überwachung, Compliance und schnelle Wiederherstellungen.
Hier kommt i2Backup als Ergänzung zu klassischen SQL Server-Sicherungsmethoden ins Spiel.
i2Backup ist eine unternehmensweite Sicherungs- und Wiederherstellungslösung, die Datenbanken, physische Server, virtuelle Maschinen, Anwendungen und Cloud-Workloads über eine zentrale Verwaltungsplattform schützt.
Administratoren können Sicherungsvorgänge über eine zentrale Benutzeroberfläche verwalten, anstatt sich vollständig auf manuell gepflegte Sicherungsskripte zu verlassen.
Automatisierte Sicherungsplanung
Sicherungsaufgaben können zentral geplant und verwaltet werden, wodurch der Verwaltungsaufwand sinkt.
Zentrale Verwaltung
Administratoren erhalten einen Überblick über mehrere SQL Server-Instanzen, ohne separate Skripte für jede Umgebung verwalten zu müssen.
Inkrementelle Sicherungsfunktionen
Da nur geänderte Daten gesichert werden, können Unternehmen den Speicherverbrauch senken und die Effizienz der Sicherungen verbessern.
Schnellere Wiederherstellungsvorgänge
Vereinfachte Wiederherstellungsabläufe minimieren Ausfallzeiten bei Ausfällen und Datenverlusten.
Einheitlicher Datenschutz
Neben SQL Server können Unternehmen über dieselbe Plattform auch virtuelle Maschinen, Dateisysteme und andere kritische Workloads schützen.
Der folgende Vergleich zeigt Szenarien, in denen eine dedizierte Sicherungsplattform zusätzliche Vorteile bietet.
| Szenario | Manuelle T-SQL-Abfragen | i2Backup |
|---|---|---|
| Einzelne Entwicklungsdatenbank | ✓ | |
| Kleine Testumgebung | ✓ | |
| Mehrere SQL Server-Instanzen | ✓ | |
| Unternehmens-Produktionsumgebung | ✓ | |
| Einhaltung von Compliance-Anforderungen | ✓ | |
| Zentralisierte Überwachung der Sicherungen | ✓ | |
| Schutz mehrerer Workloads | ✓ | |
| Automatisierte Verwaltung der Wiederherstellungen | ✓ |
Für viele Unternehmen bleiben T-SQL-Anweisungen ein nützliches Werkzeug zum Erstellen von Sicherungen, während zentrale Plattformen die Verwaltung und Wiederherstellung im großen Maßstab vereinfachen.
Wie sichert man eine SQL Server-Datenbank per Abfrage?
Verwenden Sie den Befehl BACKUP DATABASE:
BACKUP DATABASE SalesDB TO DISK = 'D:\SQLBackups\SalesDB_Full.bak'; Dies erstellt eine vollständige Sicherung der angegebenen Datenbank.
Wie lautet die SQL-Abfrage für eine vollständige Datenbanksicherung?
Ein gängiges Beispiel:
BACKUP DATABASE SalesDB TO DISK = 'D:\SQLBackups\SalesDB_Full.bak' WITH COMPRESSION; Dies erstellt eine komprimierte vollständige Sicherungsdatei.
Wie stellt man eine SQL Server-Datenbank aus einer Sicherungsdatei wieder her?
Führen Sie folgenden Befehl aus:
RESTORE DATABASE SalesDB FROM DISK = 'D:\SQLBackups\SalesDB_Full.bak' WITH REPLACE; Dies stellt die Datenbank aus der angegebenen Sicherungsdatei wieder her.
Kann man SQL Server-Sicherungsabfragen automatisieren?
Ja. Mit dem SQL Server-Agent können Administratoren Sicherungsaufträge erstellen, die in vordefinierten Intervallen automatisch ausgeführt werden.
Was ist der Unterschied zwischen vollständigen und differenziellen Sicherungen?
Eine vollständige Sicherung enthält die gesamte Datenbank.
Eine differenzielle Sicherung enthält nur Änderungen, die seit der letzten vollständigen Sicherung vorgenommen wurden.
Wie überprüft man eine SQL Server-Sicherungsdatei?
Verwenden Sie folgenden Befehl:
RESTORE VERIFYONLY FROM DISK = 'D:\SQLBackups\SalesDB_Full.bak'; Dies prüft die Gültigkeit der Sicherungsdatei, ohne die Datenbank wiederherzustellen.
Sind SQL-Abfragen besser als SSMS für Sicherungen?
Beide Methoden erzeugen identische Sicherungsdateien. T-SQL-Abfragen werden jedoch bevorzugt für Automatisierung, Skripterstellung und die Verwaltung großer Datenbankumgebungen eingesetzt.
Die Beherrschung von SQL-Befehlen zur Datenbanksicherung ist eine unverzichtbare Fähigkeit für Datenbankadministratoren und IT-Fachkräfte. Mit T-SQL-Sicherungsbefehlen können Sie vollständige Sicherungen, differenzielle Sicherungen und Transaktionsprotokollsicherungen erstellen, die Integrität von Sicherungen prüfen, Sicherungspläne automatisieren und Datenbanken bei Bedarf wiederherstellen.
Das Erstellen von Sicherungen ist jedoch nur ein Teil einer vollständigen Datenschutzstrategie. Unternehmen müssen zudem den Erfolg von Sicherungen überwachen, die Wiederherstellbarkeit prüfen, Aufbewahrungsrichtlinien verwalten und Ausfallzeiten bei Systemausfällen minimieren.
Für kleine Umgebungen reichen die nativen SQL Server-Sicherungsabfragen aus. Bei größeren oder komplexeren Infrastrukturen helfen Lösungen wie i2Backup, die Sicherungsverwaltung zu vereinfachen, die Betriebseffizienz zu steigern und den gesamten Datenschutz zu verstärken.