Datenbank umziehen und sichern

Aus Recorder-Wiki
Wechseln zu: Navigation, Suche

zurück zur Hauptseite


Datenbank auf einen anderen Computer umziehen

Für das Umziehen einer bestehenden Recorder-Datenbank auf einen anderen Computer gibt es kein Recorder - eigenes Werkzeug, das alle Handgriffe für den Nutzer erledigen könnte. Man kann mehrere Wege gehen, aber wir möchten hier einen aufzeigen, der mehrfach ausgetestet wurde und auch regelmäßig selbst genutzt wird.


Recorder auf dem Quellcomputer aktualisieren

Stellen Sie sicher, dass Recorder und die Datenbank auf dem jetzigen Computer (Quellcomputer) den aktuellsten Stand haben. Gegebenenfalls sowohl das aktuellste Recorder Upgrade, als auch das aktuellste Dictionary Upgrade nochmals laufen lassen.

SQL Server Management Express downloaden und installieren

Sofern nicht bereits vorhanden, laden Sie für den SQL Server 2005 Express das SQL Server Management Studio Express (SQL Server 2005) herunter. Wählen Sie dafür den 43,1 MB Download aus und installieren Sie das SQL Server Management Studio Express. Für den SQL Server 2008 Express benötigen Sie das SQL Server 2008 Management Studio Express. Wählen Sie auf der Microsoft Download Seite für 32 bit Windows Systeme SQLManagementStudio_x86_DEU.exe aus, für 64 bit Systeme SQLManagementStudio_x64_DEU.exe. Installieren Sie das Programm auf Ihrem Computer.

Datenbank abtrennen

MS SQL Server Management Studio Express starten.

Zunächst Verbindung zum Server aufnehmen; dazu den Servernamen auswählen (meist ist bereits der richtige angezeigt) und als Authentifizierung Windows-Authentifizierung auswählen.

SQLServerAnmeldung.png

Mit Verbinden bestätigen.
Achtung: wenn man in einem Netzwerk ist, kann es sein, dass auch andere Server auf anderen Rechnern angezeigt werden (Fenster: Registrierte Server). Das Programm öffnet sich.

SQLServer.png

Unten links befindet sich bei mir das Fenster des Objekt-Explorer. Hier den Knoten Datenbanken durch Klick auf das Plus-Symbol Plus Symbol.png aufklappen. Unter den Systemdatenbanken befinden sich die eigentlichen Datenbanken, darunter auch die Recorder Datenbank NBNData.

Bevor Sie die Datenbank vom Server abtrennen, notieren Sie sich die Pfade und den Dateinamen der Datenbankdateien. Dazu klicken Sie mit der rechten Maustaste auf den Datenbanknamen, wählen im Kontextmenü Eigenschaften aus und im Datenbankeigenschaften-Fenster die Seite Dateien. Dort finden Sie Pfad und Dateinamen der beiden Dateien, die zur NBNData-Datenbank gehören:

Datenbankeigenschaften.png


Notieren Sie sich diese Angaben, schließen Sie das Fenster wieder.

Sie können jetzt die NBNData - Datenbank vom Server abtrennen, indem Sie mit der rechten Maustaste auf den Datenbanknamen klicken und aus dem dann erscheinenden Kontextmenü den Eintrag Tasks, daran anschließend trennen wählen und das Datenbank trennen - Fenster mit OK bestätigen.

Nach Abtrennen der Datenbank sieht das Fenster so aus:

SQLServer-ohne.png

Jetzt (erst nach dem Abtrennen!) kann die Datenbank kopiert und damit auch auf einen anderen Computer übertragen werden.

Recorder auf dem Zielcomputer installieren (sofern nicht schon vorhanden)

Als Nächstes installiert man Recorder in der neuesten Version auf dem neuen Computer (also nach dem Setup das neueste Recorder Upgrade und Dictionary Upgrade ausführen, falls man keine ganz neue Setup-CD besitzt, was in der Regel ja der Fall ist). Es bietet sich jetzt an, einen Teststart von Recorder durchzuführen, um das Programm dann, wenn das Setup erfolgreich war, gleich wieder zu schließen. Bei alten Installations-CDs bitte den Download-Link zur aktuellen Setup-CD erfragen.

SQL Server Management Studio Express auf dem Zielcomputer installieren, die dortige NBNData – Datenbank abtrennen

Auch auf diesem Computer das SSME wie oben dargestellt installieren (wenn nicht bereits mit der Installation des Datenbankservers geschehen. Am Besten nach dem Programm suchen!). Unter Windows Vista und Windows 7 müssen Sie das Programm als Administrator ausführen, da Sie ansonsten nicht ausreichend Berechtigungen für das Einbinden der Datenbank haben. Das Einbinden würde mit mit einer Fehlermeldung scheitern. Klicken Sie zum Starten des SQL Server Management Studio Express mit der rechten Maustaste auf dessen Programm-Symbol und wählen Sie aus dem Kontextmenü den Eintrag "Als Administrator ausführen" auch dann, wenn Sie mit Administrator-Rechten angemeldet sind. Bevor Sie die neue Datenbank einbinden, trennen Sie die beim Setup von Recorder installierte NBNData–Datenbank - wie unter 1.3 beschrieben - ab.

Datenbank (wieder-)einbinden

Die alte Datenbank muss dann in ein Verzeichnis des Zielcomputers kopiert werden. Sie können dazu die beiden Dateien der abgetrennten NBNData-Datenbank überschreiben, oder aber ein neues Verzeichnis anlegen, z.B C:\RecorderDatenbanken und die beiden Datenbankdateien (*.MDF und *.LDF) dort hinein kopieren.

Jetzt zurück zum Management-Studio und zum Anbinden (attach) der Datenbank: Im Objekt-Explorer mit der rechten Maustaste auf Datenbanken und im Kontextmenu auf Anfügen klicken.


Anfuegen1.png


Anfuegen2.png


Es erscheint das Fenster „Datenbank anfügen“. Dort auf Hinzufügen klicken und die Datenbank in dem Ordner, in den sie soeben hineinkopiert wurde, auswählen und mit OK bestätigen.

Anfuegen3.png

Es werden jetzt zwei Dateien angezeigt: nbndata_data.mdf und nbndata_data.ldf. Letztere ist die Protokoll-Datei, die gegebenenfalls auch fehlen kann oder der richtige Pfad fehlt (=nicht gefunden). In diesem Falle die LDF-Datei auswählen und Entfernen drücken.

Anfuegen4.png

Danach das Einbinden mit OK abschließen. Ist die Datenbank eingebunden, erscheint sie im Objekt-Explorer-Fenster unter ihrer ursprünglich festgelegten Bezeichnung, meist ist das „NBNData“. Das ist die Bezeichnung, unter der sie zuletzt im Rechner eingebunden war. Sollte der Name nicht NBNData lauten, bitte an dieser Stelle umbenennen (Rechte Maustaste, Kontext Menü auf Umbenennen und das ganze auf NBNData umbenennen). Damit ist die alte Datenbank auf dem neuen Rechner korrekt eingebunden.

Nutzer und Berechtigungen neu setzen

Jetzt müssen gegebenenfalls noch Nutzer und Berechtigungen neu gesetzt werden. Dafür mit rechtem Mausklick auf NBNData das Kontextmenü öffnen und dort Neue Abfrage wählen. Es öffnet sich im rechten Teil des MSE ein neues Fenster „...SQLQerry1.SQL" Folgendes Skript dort eintippen oder, einfacher, von hier kopieren:

EXEC sp_change_users_login 'Update_One', 'NBNUser', 'NBNUser'

Mit Ausführen aus der Mitte der unteren Werkzeugleiste das Skript starten.

Sollte das Programm nicht an allen Stellen fehlerfrei laufen, muss möglicherweise noch der PC-Name des alten in denjenigen des neuen Rechners in der Registry geändert werden - siehe Abbildung bei HKey_local_Machine der Eintrag ServerName = hier im Beispiel "COREI3":

Pc-Server-name.png


Damit ist die Datenbank vollständig umgezogen. Mit etwas Erfahrung dauert das Ganze (ohne die Installationen) etwa zehn Minuten.

Karten, Nutzer-Dateien ect. umziehen

Nun müssen aber noch sämtliche Karten etc. umgezogen werden. Dafür den Inhalt folgender Ordner inklusive Unterordner im Recorder Programmverzeichnis (C:\Programme\Recorder 6\, bei Vista oder Windows 7 auch unter C:\ProgamData oder C:\Program Files suchen) des Quellcomputers in die des Zielcomputers kopieren:

Base Maps
Map Files
Object Sheet
User Files

Um die Einbindung der Hintergrundkarten zu erhalten, muss der Pfad zu den Dateien bei Quellcomputer und Zielcomputer identisch sein. Das ist jedoch bei einem Umzug von Windows XP auf Windows 7 oder 8 unter Umständen nicht mehr möglich, da dort die Ordner Programme, bzw. Program Files und Programme (x86) bzw. Program Files (x86) besonders geschützt sind und Sie in der Regel keine ausreichenden Rechte besitzen, in diese Ordner zu schreiben.

Um die Einbindung der Hintergrundkarten zu erhalten, wird es noch notwendig, der Recorder-Datenbank den neuen Computernamen mitzuteilen. Dafür klicken Sie mit der rechtem Maustaste auf NBNData bzw. den Namen der von Ihnen eingebundenen Datenbank und wählen aus dem Kontextmenü Neue Abfrage. Es öffnet sich im rechten Teil des SSME ein neues Fenster „...SQLQuery#.SQL"

Ermitteln Sie zunächst die Bezeichung Ihres alten Computers. Geben Sie dazu folgendes Skript ein oder kopieren Sie es von hier:

Select distinct Computer_id from
  ( select Computer_id from MAP_SHEET
    union
    select Computer_id from computer_map ) 
  uniontable
where Computer_id is not NULL

Mit Ausführen aus der Mitte der unteren Werkzeugleiste starten Sie die Abfrage. Standardgemäß erhalten Sie einen einzigen Computernamen, nämlich den Ihres alten Computers. Merken Sie sich diesen Namen, er wird im Folgenden benötigt.


Tippen Sie nun folgendes Skript ein oder kopieren Sie es:

UPDATE map_sheet
SET computer_id = 'neuer Computername'
WHERE computer_id = 'alter Computername'

UPDATE computer_map
SET computer_id = 'neuer Computername'
WHERE computer_id = 'alter Computername'

Ersetzen Sie "neuer Computername" durch dem Namen Ihres jetzigen Computers und "alter Computername" durch den Ihres Quellcomputers.

Starten Sie das Skript. Die Computernamen sind jetzt korrekt zugeordnet und Recorder kann auf die Karten und Geoobjekte auf Ihrem neuen Computer zugreifen.

Datenbank sichern

Der zuvor beschriebene Weg des Abbindens der Datenbank kann im Prinzip auch zur Sicherung des aktuellen Standes der Datenbank genutzt werden.

Der SQL Server Management Express hat dazu aber eine sehr einfache und komfortable Möglichkeit:

Im Server Manager auf die Datenbank gehen → rechte Maustaste → Tasks → Sichern:

Sichern1.png


und anschließend Zielpfad und Dateiname wählen (und ggf. weitere Einstellungen):

Sichern2.png