Techniken zum Backup und zur Wiederherstellung von SQL-Datenbanken

Microsoft SQL Server ist ein professionelles Verwaltungssystem, das zur Bearbeitung von und zur Kommunikation mit Daten in relationalen Datenbanken dient. Für viele Unternehmen ist eine Datenbank in der Regel ein wesentlicher Bestandteil der IT-Infrastruktur oder eines Geschäftsprojekts. Aus diesem Grund ist das Backup von SQL-Datenbanken unerlässlich, um Datenverluste und Ausfallzeiten bei kritischen Diensten zu vermeiden.

In diesem Blogbeitrag wird erläutert, wie Sie Microsoft SQL Server mithilfe verschiedener Methoden, darunter auch native Tools, sichern und anschließend die Datenbankdaten wiederherstellen können.

Backup für Microsoft 365-Daten

Backup für Microsoft 365-Daten

Nutzen Sie die NAKIVO-Lösung, um Microsoft 365-Daten in Exchange Online, Teams, OneDrive und SharePoint Online zu sichern – für unterbrechungsfreie Arbeitsabläufe und ohne Ausfallzeiten.

    Arten von Backups in SQL Server In Microsoft SQL Server sind Backups von entscheidender Bedeutung für den Schutz der Daten und gewährleisten, dass Sie Informationen im Falle eines Datenverlusts, eines Hardwareausfalls oder anderer Notfälle wiederherstellen können. SQL Server unterstützt verschiedene Arten von Backups, die jeweils einem bestimmten Zweck dienen. Differenz-Backup Voll-Backup Datei-Backup Nur-Kopie-Backup Voll-Backup Ein SQL Server-Voll-Backup erstellt eine Kopie der gesamten MS SQL-Datenbank. Dies ist die einfachste und unkomplizierteste Art von Backup, da sie alle in der relationalen Datenbank verfügbaren Objekte und Daten umfasst. Andere Arten von Microsoft SQL Server-Backups nutzen das Voll-Backup als Grundlage für jede andere Art von Backup. Eine vollständige SQL-Sicherung stellt eine vollständige Kopie dar, die alle Datenbankelemente wie Tabellen, Prozeduren, Funktionen, Ansichten, Indizes und mehr enthält. Darüber hinaus umfasst sie einen Teil des Transaktionsprotokolls. Dies vereinfacht die Wiederherstellung der Datenbank und stellt sicher, dass die Datenbank exakt in den Zustand zum Zeitpunkt der Sicherung zurückversetzt wird. Dieser Ansatz bietet die einfachste Form der Wiederherstellung der Datenbank, da der gesamte Datenbankinhalt in einer einzigen Sicherung enthalten ist. Die Hauptmerkmale eines vollständigen SQL Server-Backups sind: Ein vollständiges Backup erfasst die gesamte Datenbank, einschließlich aller Daten und Objekte. Es ist die umfassendste Art des Backups und bildet die Grundlage für andere Arten von Backups. Ein vollständiges Backup ist für die vollständige Wiederherstellung der Datenbank unerlässlich. Differenzielle Sicherung Ein differenziertes Backup in SQL Server erfasst selektiv die Daten der Datenbank-Extents, die sich seit dem letzten vollständigen Backup geändert haben, wobei ein vollständiges Backup als Ausgangspunkt dient. Diese Art der Sicherung umfasst Änderungen an Schemaobjekten, Protokolldateien und anderen Daten und optimiert so Zeit- und Speicher-Effizienz, während gleichzeitig sichergestellt wird, dass umfassende Serveränderungen gesichert werden. Zur Kennzeichnung geänderter Extents für ein differenziales Backup werden spezielle Flags verwendet. Ein differenziales Datenbanks Backup stellt die kumulativen Änderungen seit der letzten vollständigen Sicherung dar, was je nach aktuellem Transaktionsaufkommen zu einer kompakten oder beträchtlichen Größe führen kann. Da ein differenziales Backup nicht jedes Element umfasst, ist seine Ausführung in der Regel schneller als die einer vollständigen Sicherung.

Da eine differentielle Datenbanksicherung den Zustand geänderter Datenbankobjekte zum Zeitpunkt der Erstellung erfasst, enthält jede nachfolgende Sicherung unterschiedliche Daten, wenn eine Reihe von differentiellen Sicherungen für eine häufig aktualisierte Datenbank erstellt wird.

Da diese Backups immer größer werden, kann die Wiederherstellung eines differentiellen Backups die für die Wiederherstellung erforderliche Zeit erheblich verlängern. Daher ist es ratsam, periodisch in vordefinierten Intervallen eine neue vollständige Sicherung durchzuführen, um eine neue differentielle Basis für die Daten zu schaffen.

Zusammenfassend sind die Hauptmerkmale der differentiellen Sicherung in SQL Server:

  • Eine differentielle Sicherung erfasst nur die Änderungen, die seit der letzten vollständigen Sicherung an der Datenbank vorgenommen wurden.
  • Sie umfasst alle Änderungen, die seit der letzten vollständigen Sicherung in einer Datenbank vorgenommen wurden, nicht nur die Änderungen seit der letzten differentiellen Sicherung.
  • Differenzielle Sicherungen können die für die Wiederherstellung einer Datenbank erforderliche Zeit im Vergleich zur Wiederherstellung ausschließlich aus vollständigen Sicherungen verkürzen.

Lesen Sie mehr unter Voll-, Differenz- und inkrementelle Backups , um die Unterschiede besser zu verstehen.

Transaktionsprotokollsicherung

Eine Sicherung des Transaktionsprotokolls in Microsoft SQL Server umfasst alle Transaktionen, die seit der letzten Transaktionsprotokollsicherung stattgefunden haben, und erleichtert so die Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt. Wie der Name schon sagt, konzentriert sich eine Protokollsicherung auf die Sicherung von Transaktionsprotokollen und gilt ausschließlich für die Wiederherstellungsmodelle „Full“ oder „Bulk-Logged“. Transaktionsprotokolldateien enthalten eine Reihe von Protokollen, die den Verlauf von Datenänderungen in einer Datenbank dokumentieren. Das Transaktionsprotokoll-Backup umfasst alle Protokollsätze, die in der vorherigen Transaktionsprotokoll-Sicherung nicht berücksichtigt wurden.

Im Wesentlichen umfasst ein Transaktionsprotokoll-Backup alle an der Datenbank vorgenommenen Änderungen; dies ist insbesondere bei Verwendung des Wiederherstellungsmodells „Vollständige Wiederherstellung“ oder „Bulk-Logged“ erforderlich, um das Protokoll zu kürzen. Es ist wichtig zu wissen, dass aufeinanderfolgende Transaktionsprotokoll-Backups keine Daten duplizieren und die Leistung während der Ausführung eines Transaktionsprotokoll-Backups nicht beeinträchtigt wird. Daher können Sie diesen Vorgang auch in Zeiten hoher Workloads durchführen.

Die wichtigsten Funktionen von Transaktionsprotokoll-Backups in Microsoft SQL Server sind:

  • Transaktionsprotokoll-Backups erfassen die Änderungen im Transaktionsprotokoll seit dem letzten Backup.
  • Sie ermöglichen eine Wiederherstellung zu einem bestimmten Zeitpunkt und sind für die Aufrechterhaltung der Datenkonsistenz von entscheidender Bedeutung.
  • In Verbindung mit vollständigen und differentiellen Backups werden sie zur Erstellung einer umfassenden Sicherungsstrategie eingesetzt.

Datei- und Dateigruppensicherung

Die Dateisicherung ermöglicht die unabhängige Sicherung einzelner Dateien, anstatt die gesamte Datenbank sichern zu müssen. Dies kommt zum Tragen, wenn für Ihre Datenbank mehrere Datendateien angelegt wurden.

Ein Szenario, das diese Art der Sicherung rechtfertigt, ist der Umgang mit außergewöhnlich großen Dateien, die hinsichtlich der Sicherung besondere Aufmerksamkeit erfordern. Die Durchführung eines Dateibackups kann entweder über T-SQL oder SSMS erfolgen. Wenn Ihre Datenbank jedoch überwiegend aus einer einzigen Datendatei besteht, ist diese Option möglicherweise nicht geeignet.

Die wichtigsten Funktionen der MS SQL-Dateisicherung sind:

  • Diese Art der Sicherung ermöglicht es Ihnen, einzelne Datenbankdateien oder Dateigruppen zu sichern.
  • Nützlich, wenn Sie bestimmte Teile einer Datenbank selektiv sichern müssen.
  • Sie können Datei-/Dateigruppensicherungen auch für schrittweise Wiederherstellungen verwenden.

„Copy-only“-Sicherung

Eine „Copy-only“-Sicherung für MS SQL Server läuft unabhängig von der herkömmlichen Sicherungssequenz ab und erstellt eine Sicherung, ohne die ursprünglichen Sicherungen, Sicherungssequenzen oder Wiederherstellungsprozesse zu beeinflussen. Eine „Copy-only“-Sicherung ist nützlich, um Änderungen an gesicherten Daten zu testen, ohne den primären Datensatz zu beeinträchtigen. So lässt sich eine Sicherung erstellen, ohne die allgemeinen Sicherungs- und Wiederherstellungsprotokolle für die Datenbank zu stören. Beachten Sie, dass eine „Copy-only“-Sicherung (für Vollsicherungen) nicht zur Erstellung von Differenzsicherungen verwendet werden kann.

Der Hauptvorteil eines „Copy-Only“-Backups liegt darin, dass es den regulären Sicherungsablauf und die Standardwiederherstellungsprozesse nicht stört. In der Regel wirken sich die meisten MS SQL Server-Sicherungsmethoden auf die Datenbank und die Wiederherstellungsverfahren aus. Durch die Verwendung von „Copy-Only“-Backups können IT-Teams Sicherungen erstellen, die unabhängig von den ursprünglichen Backups und Wiederherstellungsprozessen bleiben. Es ist wichtig zu beachten, dass „Copy-Only“-Backups keine zentrale Erfassung des Backup-Verlaufs ermöglichen.

Sofern „Copy-Only“ nicht für das Voll-Backup verwendet wird, kann das nachfolgende differenzielle Backup beeinträchtigt werden. Der wesentliche Unterschied zwischen einem Voll-Backup und einem „Copy-Only“-Voll-Backup besteht darin, dass Letzteres die Differenzkette nicht unterbricht. Wichtig ist, dass keine dieser Methoden die Protokollkette unterbricht, da bei keiner der beiden die Protokolldatei gekürzt wird.

Was Protokollsicherungen betrifft, die für Voll- und Bulk-Log-Wiederherstellungsmodelle gelten, besteht der Zweck einer „Copy-Only“-Protokollsicherung darin, den bestehenden Protokollarchivpunkt zu erfassen. Auch wenn sie nur selten verwendet wird, kann eine „Copy-Only“-Protokollsicherung in bestimmten Situationen für eine Online-Wiederherstellung hilfreich sein.

Die Hauptfunktionen einer „Copy-Only“-Sicherung in MS SQL sind:

  • Eine „Copy-Only“-Sicherung hat keinen Einfluss auf die normale Sicherungssequenz. Es handelt sich um eine zusätzliche Sicherung, die unabhängig von der regulären Sicherungskette durchgeführt wird.
  • Nützlich, um Sicherungen für bestimmte Zwecke zu erstellen, ohne die etablierte Sicherungsstrategie zu stören.

Alle diese Microsoft SQL Server-Sicherungstypen können kombiniert werden, um eine umfassende Sicherungsstrategie zu erstellen, die den spezifischen Anforderungen Ihrer SQL Server-Umgebung entspricht. Regelmäßige Backups von SQL-Datenbanken: Testen und Validieren Die Backups und Wiederherstellungsverfahren sind ebenfalls wesentliche Bestandteile einer robusten Datensicherheit-Strategie.

So sichern Sie SQL-Datenbanken

Es gibt verschiedene Methoden, um mit nativen Microsoft-Tools ein Backup einer MS-SQL-Datenbank zu erstellen:

  • MS SQL Server Management Studio (SSMS) ist ein kostenloses natives Tool mit einer benutzerfreundlichen grafischen Oberfläche. SSMS sollte manuell auf demselben Server oder einem Remote-Rechner installiert werden, auf dem auch SQL Server installiert ist.
  • Transaction SQL (T-SQL) Befehle werden zum Management von MS SQL Server verwendet, einschließlich von Sicherungs- und Wiederherstellungsvorgängen für Datenbanken.
  • sqlcmd ist ein Dienstprogramm in der Windows-Befehlszeile (cmd), mit dem Sie T-SQL-Befehle auf SQL Server ausführen können.
  • PowerShell ist eine erweiterte Befehlszeilenumgebung in Windows, die das Management von SQL Server nach der Installation des SqlServer PowerShell-Moduls unterstützt.

Backup in MS SQL Server Management Studio

Um ein Backup einer SQL Server-Datenbank durchzuführen, gehen Sie wie folgt vor:

  1. Öffnen Sie MS SQL Server Management Studio (SSMS) und melden Sie sich mit dem Administratorkonto bei SSMS an.
  2. Gehen Sie in der „ Object Explorer“ auf der rechten Seite des SSMS-Fensters zu „ Databases “ und klicken Sie mit der rechten Maustaste auf den Namen der Datenbank, die Sie sichern möchten. In diesem Beispiel verwenden wir „ AdventureWorks2022 “ als Datenbank.
  3. Klicken Sie im Kontextmenü auf „ Tasks > Backup“ .

    MS SQL database backup in SSMS

  4. Legen Sie die Parameter im Fenster „ Back Up Database “ fest.
    • Quelle:
      • Datenbank: AdventureWorks2022
      • Sicherungstyp: Wählen Sie „ Full “ oder „ Differential “ (Sie müssen zunächst eine vollständige Sicherung erstellen).
      • Sicherungskomponente: Database
    • Ziel:
      • Sicherung auf: Disk oder URL (Festplatte auswählen)
    • Deaktivieren Sie das Kontrollkästchen „ Copy-only “, wenn Sie keine reine Backupkopie erstellen möchten.

    HINWEIS : Sie können die Einstellungen bearbeiten, wenn Sie ein Backup eines anderen Typs erstellen möchten.

    Standardmäßig ist der in den allgemeinen Eigenschaften des MS SQL-Datenbankservers festgelegte Pfad ausgewählt. Sie können den Standardpfad in den globalen Einstellungen ändern – klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Namen des MS SQL-Servers, klicken Sie auf Properties, wählen Sie die Seite Database Settings aus und zeigen Sie Database default locationsan bzw. bearbeiten Sie diese.

  5. Klicken Sie auf Add , um einen benutzerdefinierten Zielspeicherort für den aktuellen MS SQL-Backupauftrag auszuwählen und wählen Sie Delete , um den nicht mehr benötigten Standort entsprechend zu löschen. In diesem Beispiel wählen wir „ "D:MS SQL Backup DBAdventureWorks" “ aus.

    HINWEIS : Verwenden Sie zum Speichern eines Backups eine andere Festplatte als die, auf der sich die Originaldatenbank befindet. Es wird empfohlen, die 3-2-1-Regel für das Backup für eine robuste Strategie zur Datensicherheit zu befolgen. Sie können außerdem das Überschreibverhalten und die Komprimierung in den Medienoptionen und Sicherungsoptionen entsprechend konfigurieren. Die Schaltfläche „Skript“ erstellt ein T-SQL-Skript basierend auf den ausgewählten Einstellungen.

    Configuring MS SQL database backup in SSMS

  6. Vergessen Sie nicht, einen Namen für das Backup einzugeben. Beachten Sie, dass differenzielle Sicherungen die Dateierweiterung „ .dif “ verwenden können.

    Selecting the destination location for a database backup

  7. Klicken Sie in jedem Fenster auf „ OK “, um fortzufahren.

Wenn alles korrekt ist, sollte folgende Meldung angezeigt werden: „ The backup of database "AdventureWorks2022" completed successfully.

“ Microsoft SQL-Sicherungsplan in SSMS

Sie können die Sicherung von MS SQL-Datenbanken automatisieren und Sicherungsaufträge planen. Um Datenbanksicherungen zu planen, führen Sie die folgenden Schritte in Microsoft SQL Server Management Studio aus.

  1. Gehen Sie unter „ Object Explorer“ zu „ Management“, klicken Sie mit der rechten Maustaste auf „ Maintenance Plans“ und wählen Sie „ New Maintenance Plan“.
  2. Geben Sie einen Namen für einen neuen Wartungsplan ein, zum Beispiel „ MS SQL Backup Plan“. Klicken Sie auf OK.

    Creating a maintenance plan to configure the MS SQL database backup schedule

  3. Klicken Sie auf das Symbol Calendar (Zeitplan des Teilplans), um den MS-SQL-Sicherungszeitplan zu konfigurieren.

    Opening a calendar to schedule a backup task in SSMS

  4. Wählen Sie die erforderlichen Optionen für den MS-SQL-Sicherungszeitplan aus:
    • Zeitplantyp: Wiederkehrend (Standard)
    • Häufigkeit
    • Täglich
    • Dauer

    Klicken Sie auf OK , um die Einstellungen zu speichern.

    Creating a new database backup job schedule in MS SQL Management Studio

  5. Klicken Sie oben links in der SSMS-Oberfläche auf ToolBox.

    Opening the Toolbox in MS SQL Server Management Studio

  6. Ziehen Sie Back Up Database Task von Toolbox in den leeren Bereich der Registerkarte MS SQL Backup Plan [Design] .
  7. Doppelklicken Sie auf Back Up Database Task , das Sie soeben auf die Registerkarte MS SQL Backup Plan [Design] gezogen haben.

    Drag and drop the Back Up Database Task from the Toolbox

  8. Das Optionsfenster Back Up Database Task wird geöffnet. Wählen Sie den Verbindungstyp aus, z. B. Local server connection.
  9. Nehmen Sie die erforderlichen Einstellungen auf den Registerkarten General, Destination, Options vor:
    • Sicherungstyp: Full oder Differential
    • Datenbanken: Specific databases, all databases, system databasesoder All user databases.
    • Sicherung bis: Disk

    Configure a scheduled MS SQL database backup task

    Die Optionen auf den Registerkarten Destination und Options sind im folgenden Screenshot dargestellt.

    Klicken Sie auf OK , um die Einstellungen für die geplante MS-SQL-Datenbank-Sicherungsaufgabe zu speichern.

    The Destination and Options tabs

  10. Sie können auf View T-SQL klicken, um die Befehle anzuzeigen, die Sie in T-SQL verwenden können, um die Aufgabe auszuführen, die Sie in der grafischen Benutzeroberfläche von SSMS erstellt haben.

    Viewing a T-SQL database backup script generated with a scheduled task

  11. Klicken Sie auf Ctrl+S , um die Änderungen in SSMS zu speichern.
  12. Klicken Sie auf F5 , um die angezeigten Elemente in SSMS zu aktualisieren.
  13. Navigieren Sie im Objekt-Explorer zu SQL Server Agent > Jobs . Sie können den Job Activity Monitor öffnen und den MS SQL Backup Plan.Sublan in der Jobliste anzeigen.

    Viewing an MS SQL database backup status in the Job activity monitor

  14. Aktualisieren Sie die Seite, indem Sie mit der rechten Maustaste auf Jobs oder ein anderes Objekt klicken und dann auf Refreshklicken. Wechseln Sie im Objekt-Explorer zu SQL Server Agent > Jobs, wählen Sie MS SQL Backup Plan.Subplanaus, klicken Sie mit der rechten Maustaste auf dieses Objekt und klicken Sie auf Start Job at Step , um den geplanten Backupauftrag sofort zu starten.

    Starting an MS SQL backup job immediately

    Alternativ können Sie einen geplanten MS-SQL-Backupauftrag erstellen, indem Sie zu Object Explorer > Management > New Maintenance Planwechseln. Dort stehen dieselben Optionen zur Verfügung, Sie müssen jedoch alle Schritte durchlaufen.

MS-SQL-Backup in T-SQL

Verwenden Sie die folgenden Hauptbefehle, um eine MS-SQL-Datenbank in T-SQL für jeden Backup-Typ zu sichern:

  • Volles Backup:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Full.bak';

    Ersetzen Sie YourDatabaseName durch den Namen Ihrer Datenbank und geben Sie den gewünschten Pfad für die Backup-Datei an (verwenden Sie eine andere Festplatte, nicht das Systemlaufwerk (C:) oder eine Festplatte, auf der sich die ursprüngliche Datenbank befindet).

  • Differenzielle Sicherung:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH DIFFERENTIAL;

    Stellen Sie sicher, dass Sie zuvor ein vollständiges Backup erstellt haben, bevor Sie die differenzielle Sicherung erstellen.

  • Transaktionsprotokollsicherung:

    BACKUP LOG YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Log.bak';

    Transaktionsprotokollsicherungen sind entscheidend für die Wiederherstellung zu einem bestimmten Zeitpunkt und die Aufrechterhaltung der Datenkonsistenz.

  • Dateisicherung:

    BACKUP DATABASE YourDatabaseName FILE = 'LogicalFileName' TO DISK = 'C:BackupYourDatabaseName_File.bak';

    Ersetzen Sie LogicalFileName durch den logischen Namen der Datei oder Dateigruppe, die Sie sichern möchten.

  • Nur-Kopieren-Sicherung:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH COPY_ONLY;

    „Copy-only“-Backups beeinträchtigen den regulären Backup-Ablauf nicht.

Die grundlegenden Befehle haben wir in den obigen Beispielen erläutert. Unter zusätzliche Parameter können Sie erweiterte Backup-Einstellungen in T-SQL-Befehlen anpassen. Im Folgenden finden Sie einige Beispiele für T-SQL-Skripte zur Durchführung von Backups in Microsoft SQL Server mit erweiterten Optionen, einschließlich Komprimierung:

  • Voll-Backup mit Komprimierung:

    -- Full Backup with Compression

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH COMPRESSION, INIT;

    Dabei muss:

    YourDatabaseName durch den Namen Ihrer Datenbank ersetzt werden.

    C:BackupYourDatabaseName_Full.bak ist der Pfad und Dateiname für die Backup-Datei, der in Ihrem Fall angepasst werden sollte.

    WITH COMPRESSION ist die Option, die die Komprimierung aktiviert, um die Größe des Backups zu reduzieren.

    INIT ist die Option, die einen neuen Mediensatz initialisiert.

    -- definiert den Beginn des Kommentars

  • Vollständige Sicherung mit verschiedenen Optionen:

    -- Full Backup with various options

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH

     FORMAT, – Überschreibt das vorhandene Mediensatz

     NAME = 'FullBackup', – Gibt den Namen des Sicherungssatzes an

     STATS = 10, – Gibt jede 10. Prozent-Zahl eine Meldung aus

     CHECKSUM, – Überprüft die Integrität des Backups

     COMPRESSION, – Aktiviert die Komprimierung

     INIT; – Initialisiert einen neuen Mediensatz

  • Transaktionsprotokollsicherung:

    -- Transaction Log Backup

    BACKUP LOG YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'

    WITH

     FORMAT, – Überschreibt den vorhandenen Mediensatz

     NAME = 'LogBackup', – Legt den Namen des Sicherungssatzes fest

     STATS = 10, – Gibt alle 10 Prozent des Fortschritts eine Meldung aus

     INIT; – Initialisiert einen neuen Mediensatz

  • – Sichert in mehrere Dateien:

    -- Full Backup to Multiple Files

    BACKUP DATABASE YourDatabaseName

    TO

    DISK = 'C:BackupYourDatabaseName_Full1.bak',

    DISK = 'C:BackupYourDatabaseName_Full2.bak'

    WITH INIT;

Diese Beispiele veranschaulichen verschiedene erweiterte Optionen wie das Formatieren des Mediensatzes, das Festlegen von Sicherungssatznamen, die Anzeige von Fortschrittsstatistiken und das Überprüfen der Prüfsumme. Sie können diese Beispielskripte entsprechend Ihren spezifischen Anforderungen und Präferenzen anpassen.

MS SQL-Tabellensicherung

Um eine bestimmte Tabelle in Microsoft SQL Server zu sichern, können Sie die Funktion Generate Scripts in MS SQL Server Management Studio (SSMS) verwenden, um ein Sicherungsskript für das Schema und die Daten der Tabelle zu erstellen, oder das Dienstprogramm bcp (Bulk Copy Program) nutzen. Beachten Sie für beide Methoden die folgenden Schritte.

Methode 1: Skripte in SSMS generieren

Gehen Sie wie folgt vor, um ein T-SQL-Skript zu generieren und eine bestimmte Tabelle einer MS-SQL-Datenbank zu sichern:

  1. Navigieren Sie zu einer Datenbank unter und klicken Sie mit der rechten Maustaste auf den Datenbanknamen. Klicken Sie im Kontextmenü auf . Lesen Sie die Tipps im Schritt des Assistenten . Sie können das Kontrollkästchen aktivieren. Klicken Sie in jedem Schritt des Assistenten auf , um fortzufahren. Klicken Sie im Schritt auf . Wählen Sie die Tabellen aus, die gesichert werden sollen. In diesem Beispiel wählen wir die Tabelle „ “ der zu sichernden Datenbank aus. Legen Sie im Schritt „ “ fest, wie die Skripte gesichert werden sollen. Wählen Sie „ “ und anschließend „ “. Geben Sie einen Dateinamen für die Sicherung im entsprechenden Ordner ein. Klicken Sie auf „ “, um einen Ordner auszuwählen, und geben Sie einen Namen für die MS-SQL-Tabellensicherung ein. Klicken Sie auf „ “ und legen Sie im sich öffnenden Fenster „ “ die Option „ “ fest. Klicken Sie auf „ “, um die Einstellungen zu speichern und das Fenster zu schließen. Fahren Sie anschließend mit dem nächsten Schritt des Assistenten fort. Überprüfen Sie die Konfigurationszusammenfassung und fahren Sie mit dem letzten Schritt des Backups der Datenbanktabelle fort. Im Schritt können Sie den Fortschritt des Backups verfolgen. Warten Sie, bis der Sicherungsvorgang der MS-SQL-Datenbank fertiggestellt ist. Öffnen Sie den Windows-Explorer und suchen Sie die erstellte MS-SQL-Tabellensicherungsdatei im ausgewählten Zielverzeichnis. In diesem Beispiel haben wir die Datei . Doppelklicken Sie auf die Datei und öffnen Sie diese SQL-Skriptdatei in SSMS. Passen Sie den Datenbanknamen in der ersten Zeile an die Anforderungen Ihrer Umgebung an. Klicken Sie auf , um das MS-SQL-Tabellensicherungsskript auszuführen. Methode 2: Verwenden Sie bcp (Bulk Copy Program) Verwenden Sie den folgenden Arbeitsablauf, um eine MS-SQL-Tabellensicherung mit durchzuführen: Öffnen Sie die Eingabeaufforderung (drücken Sie , geben Sie ein und drücken Sie ) unter Windows mit Administratorrechten. Navigieren Sie zur ausführbaren Datei des Dienstprogramms „ “ im Installationsverzeichnis von MS SQL Server (160 wird für MS SQL Server 2022 verwendet). Beispiel: Führen Sie den Befehl „ “ aus, um die Tabellendaten in eine Datei zu exportieren. Ersetzen Sie „ “ und „ “ durch Ihre tatsächliche Datenbank, Ihr Schema, Ihre Tabelle und den gewünschten Pfad für die Ausgabedatei. Object Explorer Tasks > Generate Scripts

    Generating a T-SQL script

  2. Introduction Generate Scripts Do not show this page again Next
  3. Choose Objects Select specific database objects Person.Address

    Selecting an MS SQL table to back up

  4. Set Scripting Options Save as script file Single script file …

    Setting the scripting options

  5. Advanced Advanced Scripting Options Types of data to script = Schema and data OK

    Configuring advanced scripting options

  6. The configuration summary to generate a table backup script

  7. Save Scripts

    Saving a script for a table backup

  8. MS_SQL_Table_Backup.sql

    A script for MS SQL table backup is saved as an sql file

  9. MS_SQL_Table_Backup.sql

    A table backup script

  10. Execute

bcp

  1. Win+R cmd Enter
  2. bcp

    cd C:Program FilesMicrosoft SQL Server160ToolsBinn

  3. bcp <DatabaseName>, <SchemaName>, <TableName> <OutputFilePath>

    bcp .. out -c -S -T

    Wo:

    -c – gibt die zu kopierenden Zeichendaten (Nicht-Unicode) an.

    -S – gibt den Servernamen an.

    -T – verwendet eine vertrauenswürdige Verbindung (Windows-Authentifizierung).

  4. Überprüfen Sie die angegebene Ausgabedatei auf die exportierten Daten.

So stellen Sie eine SQL Server-Datenbank wieder her

Bei der Verwendung nativer Microsoft-Tools für MS SQL-Backups werden diese Backups in der Regel als .bak -Dateien gespeichert. Um eine .bak -Datei zu öffnen, sollten Sie in der Regel MS SQL Server Management Studio (SSMS) verwenden, ein von Microsoft bereitgestelltes Tool zum Verwalten von MS SQL Server-Datenbanken. Stellen Sie die Daten aus diesem Backup in einen regulären Zustand wieder her. Erst dann können Sie die Daten öffnen.

HINWEIS : Sie können eine backupname.bak -Datei kopieren, die kopierte backupname.bak -Datei in backupname.xls umbenennen und die .xls -Datei in Microsoft Excel öffnen, wenn Sie die Daten aus einem Backup ansehen müssen, aber derzeit keinen MS SQL Server installiert haben. Das Kopieren der Datei verhindert eine Beschädigung der Hauptsicherungsdatei, falls etwas schiefgeht.

Wiederherstellung einer MS-SQL-Datenbank in SSMS

Beachten Sie, dass Sie über die erforderlichen Berechtigungen zur Durchführung einer Datenbankwiederherstellung verfügen müssen und dass die MS-SQL-Server-Instanz auf die Datei .bak zugreifen können sollte.

Um eine MS-SQL-Server-Datenbank in MS SQL Server Management Studio aus einer Sicherungsdatei wiederherzustellen, gehen Sie wie folgt vor:

  1. Melden Sie sich in SSMS mit einem Administratorkonto bei einem MS-SQL-Server an.
  2. Klicken Sie mit der rechten Maustaste auf „ Databases “ in „ Object Explorer “ und wählen Sie im Kontextmenü „ Restore Database “ aus.

    How to restore an MS SQL database from a backup in MS SQL Management Studio

  3. Wählen Sie im Fenster „ Restore Database “ die Option „ Device “ aus, um eine MS-SQL-Datenbank aus einer „ .bak “-Datei wiederherzustellen, und klicken Sie auf die Schaltfläche „ … “, um die Datei „ .bak “ auszuwählen.

    How to open a .bak file to restore an MS SQL database in SSMS

  4. Wählen Sie „ File “ als Sicherungsmedientyp aus und klicken Sie auf „ Add“.

    Adding a backup file from which a database must be restored

  5. Suchen Sie eine Sicherungsdatei. Standardmäßig wird das Standard-Sicherungsverzeichnis im Fenster angezeigt. Navigieren Sie zum gewünschten Verzeichnis und wählen Sie die Sicherungsdatei aus. In diesem Beispiel wird die Datei „ AdventureWorks2022.bak “ ausgewählt.

    Selecting an MS SQL database backup file with the bak extension

  6. Klicken Sie zweimal auf „ OK “, um die Einstellungen zu speichern und zum Fenster „ Restore Database “ zurückzukehren. SSMS zeigt den Fortschritt des Wiederherstellungsvorgangs an. Sie können den Vorgang im Fenster „ Restore Progress “ überwachen.

    Ready to restore a database in SSMS

Wenn alles korrekt ist, sollte nach der Wiederherstellung einer Datenbank folgende Meldung angezeigt werden: „

Database 'AdventureWorks2022' restored successfully“.

Wiederherstellung einer MS-SQL-Datenbank in T-SQL

Mit T-SQL-Befehlen können Sie eine Datenbank aus einer .bak Datei mithilfe der Anweisung RESTORE DATABASE wiederherstellen. Dies kann in Skripten oder in Szenarien nützlich sein, in denen SSMS nicht verfügbar ist. Beachten Sie die folgenden Befehle zur Wiederherstellung einer MS-SQL-Datenbank in T-SQL.

  • Vollständige Datenbankwiederherstellung:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Full.bak' WITH REPLACE;

    Ersetzen Sie YourDatabaseName durch den Namen Ihrer Datenbank und geben Sie den Pfad zur vollständigen Sicherungsdatei an. Die Option WITH REPLACE ist erforderlich, wenn Sie eine vorhandene Datenbank überschreiben.

  • Differenzielle Datenbankwiederherstellung:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH NORECOVERY;

    Nach der Wiederherstellung der differentiellen Sicherung müssen Sie möglicherweise zusätzliche Transaktionsprotokoll-Backups wiederherstellen, um die Datenbank auf den aktuellsten Stand zu bringen.

    • Verwenden Sie zum Wiederherstellen eines Transaktionsprotokoll-Backups den folgenden T-SQL-Befehl:

      RESTORE LOG YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Log.bak' WITH NORECOVERY;

    • Wiederholen Sie diesen Befehl nacheinander für jedes Transaktionsprotokoll-Backup. Führen Sie abschließend den folgenden Befehl aus, um die Datenbank online zu schalten:

      RESTORE DATABASE YourDatabaseName WITH RECOVERY;

    • Stellen Sie sicher, dass die Transaktionsprotokoll-Sicherungen in der richtigen Reihenfolge angewendet werden.
  • Wiederherstellung von Dateien oder Dateigruppen:

    RESTORE DATABASE YourDatabaseName FILE = 'LogicalFileName' FROM DISK = 'C:BackupYourDatabaseName_File.bak' WITH REPLACE;

    Ersetzen Sie LogicalFileName durch den logischen Namen der Datei oder Dateigruppe.

  • Copy-Only-Wiederherstellung:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH REPLACE, COPY_ONLY;

    Die Option COPY_ONLY ist für Copy-Only-Wiederherstellungen erforderlich.

Microsoft SQL-Sicherung und -Wiederherstellung mit NAKIVO

NAKIVO Backup & Replication ist eine universelle Datensicherungslösung, die die Sicherung von Rechnern unterstützt, auf denen MS SQL-Datenbanken gehostet werden. Ein Microsoft SQL-Backup wird erstellt, wenn Sie einen Windows-Rechner zum Backup sichern, der als physische Maschine oder als virtuelle Maschine bereitgestellt ist. Auf diese Weise können Sie den gesamten Server mit den darauf ausgeführten Microsoft SQL-Datenbanken schützen. Die NAKIVO-Lösung ermöglicht es Ihnen, den gesamten physischen Rechner oder die virtuelle Maschine, eine bestimmte Microsoft SQL-Datenbank oder Datenbankobjekte wiederherzustellen. Dieser Ansatz beschleunigt den Wiederherstellungsprozess und ermöglicht mehr Flexibilität bei der Wiederherstellung.

Der Vorteil der Microsoft SQL Server-Sicherung mit der NAKIVO-Lösung liegt in der Möglichkeit, einen inkrementellen Ansatz zu nutzen. Inkrementelle Sicherungen beschleunigen den Sicherungsprozess und sparen Speicherplatz. Komprimierung, Verschlüsselung und Techniken zur Log-Trunkierung sorgen für eine rationellere Nutzung des Speicherplatzes und machen den Sicherungsprozess schnell und sicher. Backupaufträge werden geplant und automatisiert.

Sicherung von Servern, auf denen SQL gehostet wird: Schritt für Schritt mit NAKIVO

Gehen Sie wie folgt vor, um einen Windows-Rechner mit Ihrer MS-SQL-Datenbank in NAKIVO Backup & Replication zu sichern:

  1. Öffnen Sie die Weboberfläche von NAKIVO Backup & Replication in einem Webbrowser.
  2. Stellen Sie sicher, dass der erforderliche physische Windows-Server oder die Virtuelle Maschine mit dem Microsoft SQL Server zum NAKIVO-Inventar hinzugefügt wurde. Sie können Physische Maschinen, VMware vCenter-Server und ESXi-Hosts und weitere Elemente in das Inventar unter Settings > Inventoryhinzufügen.

    Stellen Sie sicher, dass in einem Backup-Repository genügend freier Speicherplatz zum Speichern der Backups vorhanden ist.

    A machine with MS SQL Server is added to the inventory

  3. Erstellen Sie einen neuen Backupauftrag für den Rechner, auf dem der MS SQL Server installiert ist. Mit NAKIVO können Sie den Rechner mit dem MS SQL Server im laufenden Zustand sichern. Klicken Sie auf Jobs > + (Neuen Auftrag erstellen) und wählen Sie den gewünschten Auftragstyp aus. In diesem Beispiel sichern wir einen physischen Rechner und wählen Physical machine backup job.

    Creating a new backup job for MS SQL Server backup in the NAKIVO solution

  4. Wählen Sie im ersten Schritt des Assistenten für neue Backupaufträge einen Rechner aus, auf dem MS SQL Server installiert ist. Wir wählen unseren Windows Server 2022 mit installiertem MS SQL Server 2022 aus. Sie können mehrere Rechner in einem Auftrag auswählen. Klicken Sie in jedem Schritt des Assistenten auf Next , um fortzufahren.

    Selecting a machine running MS SQL Server to back up

  5. Wählen Sie ein Backup-Repository aus, in dem Sie Ihre Sicherung speichern möchten. Sie können ein lokales Backup-Repository oder ein Backup-Repository in der Cloud auswählen. Es wird empfohlen, zunächst ein lokales Repository zu verwenden und anschließend eine Backupkopie in der Cloud oder einem anderen Repository zu erstellen, um die 3-2-1-Sicherungsregel zu erfüllen.

    Selecting a backup repository to store backups

  6. Wählen Sie Zeitplanoptionen aus. Die neuesten Versionen der NAKIVO-Lösung verwenden eine kombinierte Planen und Aufbewahrungskonzept. Sie können flexible Aufbewahrungsregeln für Sicherungsaufträge konfigurieren, einschließlich Aufträgen für die Sicherung von MS SQL-Datenbanken. Legen Sie für jeden Zeitplan einen Namen fest.

    Configuring a backup schedule for MS SQL Server

  7. Konfigurieren Sie die Auftragsoptionen. Geben Sie einen Auftrags-Name ein, zum Beispiel „MS SQL Server-Backupauftrag 2022“. Konfigurieren Sie die Einstellungen für die vollständige Sicherung. Standardmäßig werden inkrementelle Backups in Verbindung mit periodischen vollständigen Backups verwendet. Vollsicherungen können Active full und {177}sein. Klicken Sie auf Finish oder Finish & Run , um den Auftrag sofort auszuführen.

    Configuring backup job options

  8. Warten Sie, bis der Sicherungsauftrag abgeschlossen ist.

Beachten Sie, dass NAKIVO Backup & Replication Protokollkürzung für Microsoft SQL Server, Exchange Server und Oracle-Datenbanken unterstützt, um nach der Sicherung Speicherplatz auf einem Quellserver zu sparen.

Wiederherstellung von SQL-Datenbanken mit NAKIVO

Der Wiederherstellungsprozess für MS-SQL-Datenbanken in NAKIVO Backup & Replication ist unkompliziert. Sie können die gesamte physische oder virtuelle Maschine zusammen mit einer Datenbank wiederherstellen. Alternativ können Sie die Funktionalität zur granularen Wiederherstellung nutzen und nur Datenbankobjekte (die gesamte Datenbank, Tabellen usw.) wiederherstellen.

Gehen Sie wie folgt vor, um eine MS-SQL-Datenbank oder bestimmte Datenbankobjekte in NAKIVO Backup & Replication wiederherzustellen:

  1. Rufen Sie in der Weboberfläche der NAKIVO-Lösung die Seite Jobs > Recover > Microsoft SQL Server objectsauf.

    Starting to recover Microsoft SQL Server objects from a backup

  2. Wählen Sie im ersten Schritt des Object Recovery Wizard for Microsoft SQL Serverein Backup Ihres Rechners mit der MS-SQL-Server-Datenbank aus und wählen Sie einen Wiederherstellungspunkt. Stellen Sie sicher, dass das Kontrollkästchen Automatically locate application databases aktiviert ist. Klicken Sie in jedem Schritt des Assistenten für die Wiederherstellung auf „ Next “, um fortzufahren.

    Selecting a recovery point to recover MS SQL database objects

  3. Wählen Sie einen Server für die Wiederherstellung aus. Ein Server für die Wiederherstellung kann entweder der ursprüngliche Server sein, der als Quelle für die Erstellung des Backups diente, oder ein neuer Rechner ohne die Datenbank, die wiederhergestellt werden soll. Wir wählen den ursprünglichen Server aus, um die Datenbank wiederherzustellen.
    • Geben Sie die Anmeldeinformationen des Servers für die Wiederherstellung ein und klicken Sie auf „ Test Connection“.
    • Wählen Sie nach dem erfolgreichen Verbinden eine SQL-Instanz auf diesem Server aus.

      Selecting a recovery server for an MS SQL database

    • Wählen Sie im Schritt „ Objects “ des Assistenten für die Wiederherstellung die Datenbank aus, die Sie wiederherstellen möchten (eine „ .mdf “-Datei).

      Selecting a database file from a backup

      Wenn Sie nicht die gesamte Datenbank wiederherstellen müssen, klicken Sie im linken Bereich neben dem Datenbanknamen auf das Symbol „ > “, um das Datenbankobjekt zu erweitern, und wählen Sie bestimmte Datenbankobjekte zur Wiederherstellung aus.

      Selecting individual database objects to recover

  4. Legen Sie den „ Optionen für Aufträge zur Wiederherstellung “ anhand der unten aufgeführten Optionen fest:

    Wiederherstellungsumfang :

    • Schema und Daten wiederherstellen
    • Nur Schema wiederherstellen

    Wiederherstellungstyp :

    • An ursprünglichem Speicherort wiederherstellen
    • An benutzerdefiniertem Speicherort wiederherstellen
    • Exportieren

    Überschreibverhalten :

    • Wiederhergestelltes Element umbenennen, falls es bereits vorhanden ist (Standard)
    • Wiederhergestelltes Element überspringen, falls es bereits vorhanden ist
    • Das ursprüngliche Element überschreiben, falls es bereits vorhanden ist

    Configuring MS SQL database recovery options in NAKIVO Backup & Replication

    Klicken Sie auf Recover und warten Sie, bis die ausgewählte Datenbank oder die Datenbankobjekte wiederhergestellt sind.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Nutzen Sie die kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen hinsichtlich Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel