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

SQL Server 2016:Sichern einer Datenbank

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

  1. 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ü.

  2. Ü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.

  3. 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.

  1. PowerShell öffnen

    Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Powershell starten .

  2. 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.