SQL Server-Datenbanken kopieren

Für die Beispiele der Beiträge in diesem Heft und in weiteren Ausgaben wollen wir mit Beispieldatenbanken arbeiten, die wir nicht immer komplett neu erstellen, sondern aus einer von mehreren Quellen auf dem Rechner, auf dem Sie die Beispiele ausprobieren, wiederherstellen wollen. Dazu gibt es drei gängige Methoden, die wir in diesem Artikel vorstellen wollen: den Assistenten zum Kopieren von Datenbanken, das Wiederherstellen einer Datenbanksicherung sowie das Wiederherstellen mithilfe eines Skripts. Wir wollen einen Blick auf die letzteren beiden Varianten werfen.

Voraussetzungen

Wenn Sie unsere Beispiele zur Nutzung von Access mit dem SQL Servers als Datenbank-Backend verwenden wollen, benötigen Sie eine Instanz des SQL Servers auf Ihrem System sowie die entsprechende Beispieldatenbank. Die Instanz können Sie sich beispielsweise in Form von LocalDb holen oder als SQL Server Express. Die Verwendung von LocalDb beschreiben wir im Artikel Access und LocalDb (http://www.access-im-unternehmen.de/1057). Außerdem arbeiten wir mit dem SQL Server Management Studio, um den SQL Server und die darin enthaltenen Datenbanken zu verwalten.

Kopieren von Access-Daten

In der Access-Welt war das Kopieren von Daten überhaupt kein Problem. Sie haben einfach die komplette Datenbankanwendung kopiert und auf dem Zielrechner wieder eingefügt. Sofern dort Access installiert ist, können Sie direkt loslegen. Wenn Sie die Daten hingegen in einem Backend speichern, sind neben dem Kopieren des Backends noch ein paar weitere Schritte nötig, um etwa das Frontend erneut mit dem Backend zu verknüpfen. Mit dem SQL Server ist das alles ein wenig komplizierter, denn Sie können nicht einfach eine Datei von A nach B kopieren und dann direkt wieder auf die Daten zugreifen. Stattdessen müssen wir die Datenbank erst auf Rechner A in einer bestimmten Art und Weise sichern und auf Rechner B wiederherstellen.

Für unseren Fall, indem wir nur einfache Beispieldatenbanken aus dem Download des Magazins auf Ihrem Rechner installieren wollen, damit Sie die Beispiele aus den Beiträgen damit ausprobieren können, gibt es zwei einfache Strategien. Die erste ist das Erstellen einer Sicherung auf dem ersten Rechner und das Wiederherstellen aus der Sicherungsdatei auf dem Zielrechner. Die zweite ist, auf dem Quellrechner einfach ein Skript generieren zu lassen, dass die Definition der Tabellen, Felder und Restriktionen sowie die enthaltenen Daten enthält. Dieses können Sie dann auf dem Zielrechner einfach wieder ausführen, um die Datenbank neu zu erstellen.

Sichern und wiederherstellen

Als Erstes schauen wir uns die Variante über die Sicherungs- und Wiederherstellungsfunktion von SQL Server an. Hier öffnen Sie das SQL Server Management Studio und wählen für die zu sichernde Datenbank den Kontextmenü-Eintrag Tasks|Sichern… aus (siehe Bild 1).

Aufrufen des Dialogs zum Sichern einer Datenbank

Bild 1: Aufrufen des Dialogs zum Sichern einer Datenbank

Es erscheint der Dialog Datenbank sichern – , der wie in Bild 2 aussieht. Hier legen Sie einige wichtige Informationen fest:

Dialogs zum Sichern einer Datenbank

Bild 2: Dialogs zum Sichern einer Datenbank

  • Unter Datenbank erscheint die Datenbank, für die Sie den Dialog aufgerufen haben.
  • Sicherungstyp gibt an, ob Sie eine vollständige Sicherung der Datenbank durchführen wollen oder eine differenzielle Sicherung. Letzteres ist für uns aktuell nicht interessant, weil dies für die Sicherung im laufenden Betrieb und die Wiederherstellung nach einem Datenverlust gedacht ist. Wir wollen die Datenbank ja nur von A nach B kopieren. Behalten Sie also den Wert Vollständig bei.
  • Sichern nach: Hier geben Sie an, ob auf einen Datenträger oder zu einer URL gesichert werden soll. Wir wählen Datenträger.

Darunter geben Sie noch an, in welche Datei die Sicherung gespeichert werden soll. SQL Server legt automatisch eine Datei fest, die den Namen der Datenbank sowie die Dateiendung .bak trägt. Die Datei landet im Verzeichnis Backup des SQL Server-Verzeichnisses. Sie können hier einen beliebigen anderen Ordner oder auch einen anderen Dateinamen angeben. Dazu müssen Sie allerdings den vorhandenen Sicherungsort mit der Entfernen-Schaltfläche löschen und mit Hinzufügen… einen neuen Speicherort anlegen. Beim Hinzufügen stellt der SQL Server aber immerhin den zuletzt verwendeten Ordner im Dialog zum Festlegen eines neuen Sicherungsziels ein (siehe Bild 3).

Anlegen eines neuen Ziels für die Sicherung

Bild 3: Anlegen eines neuen Ziels für die Sicherung

Schließlich aktivieren Sie noch die Option Kopiesicherung. Auf diesem Wege stellen Sie sicher, dass eventuell vorhandene geplante Vollsicherungen, differenzielle Sicherungen und Transaktionssicherungen nicht beeinflusst werden.

Die übrigen Einstellungen behalten wir bei, da wir ja nur eine Sicherung für die Weitergabe erstellen wollen und keine, die einen Ausfall des Systems mit Datenverlust kompensieren soll. Klicken Sie nun auf OK, wird die Sicherung direkt ausgeführt. Der erfolgreiche Abschluss der Sicherung wird in der Meldung aus Bild 4 bestätigt.

Erfolgreicher Abschluss einer Sicherung

Bild 4: Erfolgreicher Abschluss einer Sicherung

Damit können wir uns nun der Wiederherstellung der Datenbank etwa auf einem anderen Rechner oder auch einer anderen SQL Server-Instanz widmen. Ich habe an dieser Stelle übrigens festgestellt, dass sich die Sicherung nicht in ein Verzeichnis des Benutzerkontos speichern ließ – mal sehen, ob sich daran etwas ändern lässt.

Vollsicherung per T-SQL

Annähernd alle Aufgaben, die Sie über die Benutzeroberfläche des SQL Server Management Studios erledigen, können Sie auch per T-SQL als Befehl oder Folge von Befehlen ausführen. In diesem Fall handelt es sich um den Befehl BACKUP DATABASE, der für unsere Konfiguration wie folgt aussieht:

BACKUP DATABASE [Suedsturm_SQL]
TO DISK = N''''C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\Suedsturm_SQL.bak''''
WITH NOFORMAT, NOINIT, NAME = N''''Suedsturm_SQL-Vollständig Datenbank Sichern'''', SKIP,
NOREWIND, NOUNLOAD, STATS = 10

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar