Menü

Portieren einer Datenbank (Verwaltung)

Zurück | Ebene zurück

Eine SQL-Datenbank kann jederzeit von einem SQL-Server auf einen anderen SQL-Server portiert werden. In jedem Fall ist eine Datensicherung (=Backup) der zu portierenden Datenbank notwendig. Diese wird zunächst auf den Ziel-SQL-Server kopiert.

Die Portierung einer SQL-Datenbank lässt sich auf verschiedene Arten durchführen:

Portierung aus dem Startmenü

Dies ist die einfachste Methode um eine EULANDA®-Datenbank (=Mandant) von einem SQL-Server auf einen anderen zu übertragen. Zunächst wird die Datenbank über die Datensicherung des Quellsystems aus dem Startmenü gesichert.

Die BAK-Datei wird auf den neuen SQL-Server in einen beliebigen Ordner auf dem SQL-Server übertragen. Auf dem neuen SQL-Server muss eine EULANDA® installiert sein. Ein Mandant muss nicht auf dem neuen SQL-Server angelegt worden sein. Starten Sie die EULANDA® auf dem neuen SQL-Server. Ist noch kein Mandant vorhanden, so wird versucht, ein Mandant anzulegen. Diesen Vorgang brechen Sie ab und rufen dann mit dem Rechte-Mausmenü die Funktion Mandant anlegen aus Sicherungsdatei auf.

In einem Dateidialog wird die Sicherungsdatei abgefragt. Nach Auswahl der EULANDA®-Datenbank wird diese in den SQL-Server geladen. Der Standardbenutzer wird im SQL-Server angelegt und mit der Datenbank verbunden. Anschließend wird der Menüeintrag im Startmenü erzeugt und die notwendige UDL-Datei gespeichert.

Um eine Datenbank zu portieren muss der Benutzer ein Systemadministrator sein. Die Passwortbox fragt automatisch den Account ab. Der Standard-Systemadministrator hat den Benutzernamen „sa“ und von der Erstanlage her ist dieser ohne Passwort angelegt worden.

Portierung über den SQL-Designer

Vom Startmenü können Sie über das Rechte-Mausmenü den SQL-Designer starten. Ist noch kein Eintrag vorhanden, so wird versucht ein Mandant anzulegen. Brechen Sie diesen Vorgang ab und wählen im Rechte-Mausmenü den SQL-Designer an. Unter Makros finden Sie den Punkt Datenbank rücksichern (portieren). Dieser erlaubt es Ihnen die Backup-Datei auszuwählen und das Makro zu starten.  Eine passende UDL-Datei wird automatisch in das Startmenü hinzugefügt.

Weitere Informationen finden Sie im Kapitel Makro des SQL-Designers.

Portierung über OSQL

Das Portieren ist jedoch nicht nur ein einfaches Kopieren der Datenbank. Die Schritte im Einzelnen:

  1. Datenbank auf dem alten SQL-Server sichern
  2. Sicherungsdatei auf den neuen SQL-Server übertragen
  3. Auf dem neuen SQL-Server die Datenbank zurücksichern
  4. Die Sicherheitseinstellungen aktualisieren
  5. UDL-Datei anlegen
1. Datenbank auf dem alten SQL-Server sichern

Das Sichern (=Backup) der Datenbank erfolgt am einfachsten aus dem EULANDA®-Startmenü mit der rechten Maus über dem Mandanteneintrag, der transferiert werden soll.

Der SQL-Server führt die Sicherung durch und erzeugt eine Datei mit dem Namen EULANDA_IhrMandantenName.BAK. IhrMandantenName ist natürlich mit dem in der Menüauswahl angezeigten Mandantennamen zu ersetzen.

Die Speicherung der Datenbank erfolgt immer auf dem PC, der den SQL-Server ausführt. Den Speicherort finden Sie im Abschnitt Backup beschrieben.

2. Sicherungsdatei auf den neuen SQL-Server übertragen

Kopieren Sie die BAK-Datei auf den neuen SQL-Server am besten in den selben Speicherort auf dem neuen PC.

3.  Auf dem neuen SQL-Server die Datenbank zurücksichern

Auf dem neuen SQL-Server wird die neue Datenbank über OSQL zurückgesichert (=Restore).  Wenn kein Management Studio zur Verfügung steht, können Sie OSQL aus dem Ordner C:\Programme\Microsoft SQL Server\90\Tools\Binn benutzen. Die Parameter zum Aufruf sind im Abschnitt Restore beschrieben.

4. Die Sicherheitseinstellungen aktualisieren

Die Datenbank auf dem alten Server hatte mindestens den Datenbankbenutzer Eulanda eingetragen. Wurde auf dem neuen SQLServer EULANDA® noch nicht installiert und noch kein neuer Mandant angelegt, so fehlt zum einen das Benutzerkonto aber zum anderen fehlt in jedem Fall ein Bezug vom Anmeldekonto zum in der Datenbank gespeicherten Datenbank-Benutzer.

Der SQL-Server benutzt zur Erkennung eines Benutzers nicht nur den Kontonamen, sondern auch die sid (=Sicherheits ID), die bei jeder Kontoanlage eindeutig vergeben wird. Um diese Konten zu synchronisieren müssen einige SQL-Befehle eingegeben werden. Dies kann im SQL-Designer oder in OSQL erfolgen.

EXEC sp_addlogin 'Eulanda', 'eulanda'
GO
USE EULANDA_IhrMandantenName
GO
EXEC sp_dropuser 'Eulanda'
GO
EXEC sp_adduser 'Eulanda',null,'eul_SuperUSer'
GO

Der existierende Datenbankbenutzer Eulanda wird über sp_dropuser zunächst aus der Datenbank entfernt, da er eine andere, vom alten SQL-Server vergebene, sid hat. Anschließend wird der Datenbankbenutzer neu angelegt und erhält die Standardsicherheitseinstellungen eul_SuperUSer, wie bei einer Neuanlage eines Mandanten.

Hinweis

Die Funktion sp_addlogin erlaubt es auch dieselbe sid (=Sicherheits ID) anzulegen, wie die auf dem alten SQL-Server benutzte sid. Wenn Sie zuvor die alte sid abfragen, können Sie mit  sp_addlogin durch Anhängen dieser sid als weiteren Parameter, beide Konten mit identischer sid verwenden. Die weiteren Befehle sp_dropuser und sp_adduser sind dann nicht mehr erforderlich. Beide Konten enthalten die selben Anmeldeinformationen. Datenbänke können dann einfach durch Backup und Restore hin und her kopiert werden.

5. UDL-Datei anlegen

Nach Portierung der Datenbank muss noch ein Mandanteneintrag im Startmenü angelegt werden. Hierzu wählen Sie im Rechte-Mausmenü die Funktion Mandant neu und tragen die Daten im Dialog ein, wie bei einer Neuanlage. Der Mandantenname muss exakt so geschrieben werden wie er auf dem alten PC benutzt wird. Beim Bestätigen des Dialogs wird festgestellt, dass die Datenbank schon vorhanden ist, so dass dann nur noch die UDL-Datei mit dem Menüeintrag hinzugefügt wird.