SQL Server bietet eine einfache Möglichkeit, eine Sicherung einer Datenbank zu erstellen. Sicherungen können entweder mit Transact-SQL, PowerShell oder über die GUI von SQL Server Management Studio durchgeführt werden.
Hier zeige ich, wie man eine Sicherung mit der SQL Server Management System-GUI, dann mit Transact-SQL und schließlich mit SQL Server Powershell erstellt.
Erstellen Sie ein Backup über die GUI
-
Starten Sie die Datenbank sichern Dialogfeld
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, die Sie sichern möchten, und wählen Sie Aufgaben> Sichern... aus aus dem Kontextmenü.
-
Überprüfen Sie die Sicherungseinstellungen
Dieses Dialogfeld bietet Ihnen die Möglichkeit, bei Bedarf alle Einstellungen zu ändern.
Belassen Sie für unser Beispiel die Standardeinstellungen und klicken Sie auf OK um die Sicherung zu erstellen.
Sie können die Datenbank hier ändern, wenn Sie im vorherigen Schritt versehentlich die falsche ausgewählt haben.
-
Sicherung abgeschlossen
Sie erhalten eine Nachricht, wenn die Sicherung abgeschlossen ist.
Klicken Sie auf OK um die Meldung und das Dialogfeld zu schließen.
Die Sicherungsdatei befindet sich nun am angegebenen Speicherort.
Datenbank mit Transact-SQL sichern
-
Sie können dieselbe Sicherung wie oben mit SQL durchführen.
Öffnen Sie dazu ein neues Abfragefenster und führen Sie ein
BACKUP
durch Aussage.Das
BACKUP
-Anweisung akzeptiert verschiedene Optionen (genau wie die GUI-Option), aber Sie können auch ein einfaches Backup mit einem Minimum an Code ausführen.Beispielcode
Unten sehen Sie ein Beispiel für ein einfaches Sicherungsskript, das die zu sichernde Datenbank und den Speicherort angibt, an dem sie gesichert werden soll.
Nachdem Sie diesen Code ausgeführt haben, befindet sich die Sicherungsdatei am angegebenen Speicherort.
BACKUP DATABASE Music TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';
Sie können die vollständige Syntax für
BACKUP
sehen Erklärung auf der Microsoft-Website.
Datenbank mit PowerShell sichern
SQL Server 2016 unterstützt Windows PowerShell, eine Skriptshell, die normalerweise zur Automatisierung von Verwaltungs- und Bereitstellungsaufgaben verwendet wird.
Die PowerShell-Sprache unterstützt eine komplexere Logik als Transact-SQL-Skripts, sodass Sie anspruchsvollere Skripts für Ihre Sicherungen und andere Aufgaben erstellen können.
-
PowerShell öffnen
Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Powershell starten .
-
Führen Sie den Sicherungsbefehl aus
Geben Sie den Befehl zum Erstellen des Backups ein und drücken Sie Enter (oder Zurück , abhängig von Ihrer Tastatur).
Die Sicherung wird sofort ausgeführt.
Beispielcode
Der folgende Code erstellt genau wie in den vorherigen Beispielen eine Sicherung. Ersetzen Sie einfach
MyServer
mit dem Namen Ihres Servers.Nachdem Sie diesen Code ausgeführt haben, befindet sich die Sicherungsdatei am Standardspeicherort.
Backup-SqlDatabase -ServerInstance MyServer -Database Music
Sie können auch einen Ort angeben
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'
Sie können auch
-BackupAction Database
angeben ausdrücklich angeben, dass es sich um eine vollständige Sicherung handelt. Dies ist jedoch die Standardoption.Sie können die vollständige Dokumentation für die
Backup-SqlDatabase
einsehen Befehl auf der Microsoft-Website.
Sicherungsdateien überschreiben
Wenn Sie alle obigen Beispiele genau so ausgeführt haben, wie sie sind, haben Sie vielleicht bemerkt, dass die Dateigröße der Sicherungsdatei jedes Mal zugenommen hat, wenn Sie es ausgeführt haben.
Dies liegt daran, dass jede nachfolgende Sicherung sich selbst zur vorhandenen Datei hinzufügt.
Dies geschieht, weil wir denselben Dateinamen verwenden und nicht ausdrücklich angegeben haben, dass jede Sicherung eine vorhandene Datei überschreiben soll.
Es gibt eine Option, mit der Sie die vorhandene Datei überschreiben können.
- Verwendung der GUI , klicken Sie auf Medienoptionen im linken Menü der Datenbank sichern Dialogfeld und wählen Sie Alle vorhandenen Sicherungssätze überschreiben im Medien überschreiben Abschnitt.
- Mit SQL fügen Sie
WITH INIT
hinzu zur SQL-Anweisung. - Mit Powershell , fügen Sie
-Initialize
hinzu zum Befehl.
Sicherungsdateien speichern
Es ist jedoch oft eine gute Idee, eine vollständige Sicherung mit einem eindeutigen Dateinamen zu erstellen (normalerweise mit Datum im Dateinamen). Ein eindeutiger Dateiname bedeutet, dass jede Sicherung eine separate Datei ist.
Abhängig von der Größe Ihrer Datenbank und davon, wie viele neue Daten in sie eingegeben werden, möchten Sie möglicherweise Ihre vollständigen Sicherungen durch differenzielle Sicherungen ergänzen. Bei einer differenziellen Sicherung werden nur die Daten erfasst, die sich seit der letzten vollständigen Sicherung geändert haben.