Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Sichern Sie eine Datenbank in SQL Server 2017

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 durchgeführt werden.

Hier zeige ich Ihnen, wie Sie eine Sicherung mit der GUI von SQL Operations Studio (jetzt Azure Data Studio genannt), dann mit Transact-SQL und schließlich mit SQL Server Powershell erstellen.

Erstellen Sie eine Sicherung über die GUI von SQLOPS/Azure Data Studio

  1. Öffnen Sie das Datenbank-Dashboard

    Klicken Sie im linken Bereich mit der rechten Maustaste auf die Datenbank, die Sie sichern möchten, und wählen Sie Verwalten aus .

    Wenn Sie SSMS verwenden, 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ü. Dadurch wird die Datenbank sichern gestartet Dialogfeld.

  2. Starten Sie die Backup-Datenbank Dialogfeld

    Klicken Sie auf Sicherung Taste.

  3. Überprüfen Sie die Einstellungen

    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 Backup um die Sicherung zu erstellen.

    Wenn Sie spezielle Sicherungsanforderungen haben, können Sie den Sicherungstyp ändern und/oder auf Erweiterte Konfiguration klicken um die erweiterten Konfigurationseinstellungen anzupassen.

  4. Sicherung abgeschlossen

    Sobald die Sicherung abgeschlossen ist, wird eine Meldung angezeigt, die bestätigt, dass die Sicherung erfolgreich war.

Datenbank mit Transact-SQL sichern

Sie können dieselbe Sicherung wie oben mit T-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.

Unten sehen Sie ein Beispiel für ein einfaches Backup-Skript auf einem Linux- oder Mac-System. Das Skript gibt die zu sichernde Datenbank und den Speicherort an, an dem sie gesichert werden soll.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

Auf einem Windows-System verwendet der Pfad Backslashes:

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Nachdem Sie diesen Code ausgeführt haben, befindet sich die Sicherungsdatei am angegebenen Speicherort.

Datenbank mit PowerShell sichern

SQL Server 2017 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.

Der folgende Code erstellt genau wie in den vorherigen Beispielen eine Sicherung. Ersetzen Sie einfach MyServer mit dem Namen Ihres Servers.

Backup-SqlDatabase -ServerInstance MyServer -Database Music

Sie können auch einen Ort angeben

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Nachdem Sie diesen Code ausgeführt haben, befindet sich die Sicherungsdatei am Standardspeicherort.

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 mehrere Sicherungen mit demselben Dateinamen für die Sicherungsdatei durchführen, stellen Sie möglicherweise fest, dass die Dateigröße der Sicherungsdatei bei jeder Ausführung einer Sicherung zunimmt.

Dies liegt daran, dass jede nachfolgende Sicherung sich selbst zur vorhandenen Datei hinzufügt. Dies geschieht, weil Sie 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 SQLOPS-GUI , klicken Sie auf Erweiterte Konfiguration und unter Auf bestehenden Mediensatz sichern , wählen Sie Alle vorhandenen Sicherungssätze überschreiben .
  • Verwendung der SSMS-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.

Eindeutige Dateinamen verwenden

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.