17. DATENBANK BACKUP
Aus JTLWiki
Inhaltsverzeichnis |
[bearbeiten] 17.1 DB-Export
Es empfiehlt sich die Datenbank regelmäßig zu sichern. Unter dem Menüpunkt JTL-wawi finden Sie hierzu den Punkt DB-Export.
Nun öffnet sich ein Fenster und Sie können einen Speicherort und einen Dateinamen wählen.
Ein Klick auf Speichern startet die Datensicherung (diese kann je nach Auslastung der Datenbank mehrere Minuten dauern).
Sollte es bei der Datenbanksicherung unter Windows Vista zu Problemen kommen, dann schafft meist ein Wechsel der Partition Abhilfe (nutzen Sie einfach ein anderes Laufwerk).
Die genaue Vorgehensweise ist hier beschrieben: Automatische Sicherungen
Sollte beim DB-Export die folgende Fehlermeldung auftreten:
Meldung: Error -1 preforming exec SQL State = 00000 SQL Message= Src: Exec Direct
Die Lösung des Problems finden Sie hier: Backup lässt sich nicht erstellen (DB-Export).
[bearbeiten] 17.1.1 Welche Daten enthält ein DB-Export?
Ein DB-Export enthält alle Daten, die Sie in JTL-Wawi haben. Sogar Artikel- und Kategoriebilder sind darin enthalten.
[bearbeiten] 17.1.2 Sichern von Mandantendatenbanken
Datenbanksicherungen können wie gewohnt durchgeführt werden. Bei einem DB-Export wird stets eine Sicherung für den aktiven Mandanten durchgeführt.
Die Wiederherstellung von Mandantendatenbanken geschieht in der Mandantenverwaltung mit den jeweiligen Backup-Dateien.
[bearbeiten] 17.1.3 Backups automatisiert erstellen lassen
Folgender Workaround beschreibt die automatische Datenbanksicherung (Hauptdatendank und/oder Mandantendatenbanken) als geplanten Windowstask - hierbei wird jeden Tag im Backupverzeichnis eine neue Backupdatei erstellt, die jederzeit über den Menüpunkt DB-Import importiert werden kann. Wird ohne zusätzliche Mandanten gearbeitet, lässt sich dies ebenfalls nutzen, die Standarddatenbank heisst eazybusiness, d.h. im untenstehenden Code würden die jeweiligen Zeilen für die Mandanten fehlen.
Diese Datenbanknamen verwendet JTL-Wawi:
- eazybusiness: Hauptdatenbank. Diese Datenbank enthält alle Mandanteninformationen (die Mandantenverwaltung legt hier Daten ab) und den ersten Mandanten (Hauptmandant). Diese Datenbank wird nach der Installation von JTL-Wawi automatisch angelegt.
- mandant_x: Mandantendatenbanken. Jeder zusätzlich erstellte Mandant erhält eine eigene Datenbank. Dass weitere Mandanten existieren, erfährt JTL-Wawi aus der Hauptdatenbank eazybusiness. mandant_x Datenbanken werden beim Hinzufügen neuer Mandanten automatisch angelegt.
Bitte beachten Sie, dass eine Datenbanksicherung für die Hauptdatenbank nur als Hauptdatenbank per JTL-Wawi importiert werden kann. Dasselbe gilt für mandant_x, d.h. mandant_3 Datenbank kann nur in diesem Mandanten wiederhergestellt werden. Per Kommandozeile hat man diese Einschränkung nicht, hier können Datenbankbackups in beliebige Datenbanken importiert werden. Weitere Informationen finden Sie unter Frühere Datenbanken in einzelne Mandanten importieren.
Weiter unten findet man einen Codeabschnitt, den man im Texteditor als *.bat-Datei abspeichern muss. Diese .bat-Datei wählen Sie als Programm bei der Planung von Tasks aus. Die Taskplanung erreichen Sie in Windows unter Start --> Programme --> Zubehör --> Systemprogramme --> Geplante Tasks.
Die .bat Datei:
Die entsprechenden Sicherungsordner müssen vorher erstellt werden z. B. d:\backup\eazysales\mandant_1 usw.
mandant_1 - 6 ist nur als Beispiel anzusehen, die Nummer des Mandanten findet man im Menüpunkt Mandanten im Menü JTL-Wawi. Sind weniger Mandanten vorhanden, muss der Code ab osql.exe entsprechend gekürzt werden.
Beispiel für 6 Mandanten, Inhalt der .bat Datei:
@echo off osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE eazybusiness TO DISK = 'd:\backup\db\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_1 TO DISK ='d:\backup\mandant_1\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_2 TO DISK = 'd:\backup\mandant_2\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_3 TO DISK = 'd:\backup\mandant_3\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_4 TO DISK = 'd:\backup\mandant_4\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_5 TO DISK = 'd:\backup\mandant_5\%date%.bak'" osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_6 TO DISK = 'd:\backup\mandant_6\%date%.bak'"
Achtung: Passen Sie den Pfad D:\Backup\eazysales\ für Ihr System an. In diesem Ordner werden die Backupdateien erstellt. Probieren Sie vorher manuell aus JTL-Wawi eine Datenbanksicherung in den gewünschten Ordner zu machen. Wenn dies nicht gehen sollte und zu einem Fehler führt, dann lesen Sie diese Problemlösung: Backup lässt sich nicht erstellen. Falls Sie das Datenbankpasswort geändert haben, verwenden Sie anstelle sa04jT14 Ihr geändertes Passwort.
Beispiel ohne zusätzliche Mandanten (Hauptdatenbank wird gesichert), Inhalt der .bat Datei:
@echo off osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE eazybusiness TO DISK = 'd:\backup\db\%date%.bak'"
Achtung: Passen Sie den Pfad d:\backup\eazysales\db\ für Ihr System an. In diesem Ordner werden die Backupdateien erstellt. Falls Sie das Datenbankpasswort geändert haben, sollte Sie statt sa04jT14 Ihr geändertes Passwort verwenden.
Die Mandanten Backup-Dateien können in der Mandantenverwaltung eingespielt werden.
[bearbeiten] 17.2 DB-Import
Um eine exportierte Datenbank wieder zu importieren, nutzen Sie bitte den Datenbank-Import; diese Funktion finden Sie ebenfalls unter dem Menüpunkt JTL-wawi.
In dem nun folgenden Dialog geben Sie das Passwort des Datenbank-Administrators ein. Sofern dieses nicht von Ihnen geändert wurde, lautet es: »sa04jT14«.
Wählen Sie nun die zu importierende Datenbank aus (*.bak-Datei) und klicken Sie dann auf Öffnen. Es öffnet sich ein DOS-Fenster und die Datenbank wird nun importiert.
Nach Abschluß des Vorgangs, sollten Sie eine Meldung über den erfolgreichen Import erhalten.
Speichern Sie ein Backup in keinem Verzeichnis mit Sonderzeichen / Umlauten und benutzen Sie auch im Backupdateinamen keine Sonderzeichen / Umlaute.
Nach dem erfolgereichen Import müssen Sie sich erneut als Nutzer anmelden.
[bearbeiten] 17.2.1 DB-Import mittels SQL Server Management Studio Express
Sollte es beim Datenbankimport zu Problemen kommen, so empfiehlt sich ein Import über das SQL Server Management Studio Express.
Zunächst verbindet man sich mit dem Studio zum Server und wählt die entsprechende Datenbank unter Datenbanken aus. Mittels Klick mit der rechten Maustaste gelangt man in das Kontextmenü. Hier wählt man Tasks - Wiederherstellen - Datenbank
Nun öffnet sich die Maske zum Wiederherstellen der Datenbank und wir schalten unter Quelle von "Aus Datenbank" um auf "Von Medium" und weisen über die drei Punkte am rechten Rand unsere bak Datei zu. Anschließend findet sich unter in der Liste unsere Sicherungsdatei und wir setzen den Haken bei "Wiederhestellen". Sollten dort mehrere Einträge vorhanden sein, weil z.B. immer in die gleiche Datei gesichert wurde, so bitte nur die aktuelle Sicherung anhaken. Damit sind wir im Bereich "Allgemein" fertig und wechseln zu "Optionen".
Unter Optionen setzen wir zunächst ganz oben den Haken bei "Vorhandene Datenbank überschreiben" und kontrollieren anschließend die Pfadangabe unter "Wiederherstellen als". Hierbei gilt es den korrekten Pfad des SQL Servers anzugeben.
C:\Program Files\Microsoft SQL Server\MSSQL10.JTLWAWI\MSSQL\DATA\eazybusiness.mdf Beispiel Windows7 64bit
C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\eazybusiness.mdf Beispiel WIndows XP
Mit einem Klick auf "OK" startet der Importvorgang.
[bearbeiten] FAQ zu Backup / Wiederherstellung
[bearbeiten] Wie lautet das Passwort des Datenbankadmins (für Backup, etc.)?
Voreingestellt ist das Passwort des Datenbankadministrators [sa]: sa04jT14 Dieses Passwort wird verlangt, wenn ein Datenbank-Backup eingespielt werden soll.
Wie es geändert wird, lesen Sie unter Wie lautet das Passwort des Datenbankadmins (für Backup, etc.)?.
[bearbeiten] Backup manuell einspielen
START -> Ausführen cmd.exe starten
osql.exe -D eazy -U sa -P sa04jT14 -d master -Q "restore database eazybusiness from disk='c:\meine.bak' with replace"
c:\meine.bak - sollte auf eigene BAK Datei zeigen.
[bearbeiten] Backup lässt sich nicht einspielen (DB-Import)
Sollte es Probleme geben mit dem Einspielen der Datenbank, so sollte man die Datenbank mittels SQL Server Management Studio Express einspielen.
Auf einigen Systemen gibt es Probleme mit Sonderzeichen und Umlauten im Pfad bzw. Dateinamen der Backupdatei. Speichern Sie ein Backup in keinem Verzeichnis mit Sonderzeichen / Umlauten und benutzen Sie auch im Backupdateinamen keine Sonderzeichen / Umlaute. Das voreingestellte Passwort des Datenbankadmins lautet: sa04jT14
Probleme werden auftauchen, wenn man versucht eine BAK Datei (Backupdatei aus JTL-Wawi heraus erstellt), die unter MSDE erstellt wurde unter MS SQL Server 2005 Express (und andersherum) zu importierten. Die BAK Datei lässt sich nur unter dieser Datenbank wieder über JTL-Wawi importieren unter der die Backupdatei erstellt wurde.
Wie Sie die Datenbank von MSDE auf MS SQL 2005 Express upgraden können, finden Sie unter 2.7 Wechsel der Datenbank: Umstieg von MSDE auf MS SQL 2005 Express im laufenden JTL-Wawi Betrieb
[bearbeiten] Backup lässt sich nicht erstellen (DB-Export)
Beim Versuch, ein Backup in JTL-Wawi zu erstellen kommt folgende Fehlermeldung:
Meldung: Error -1 preforming exec SQL State = 00000 SQL Message= Src: Exec Direct
Dieses Problem hängt mit den Rechten zusammen, mit denen der Datenbankdienst läuft.
Die Datenbank kann aus Sicherheitsgründen nur unter c:\programme\microsoft sql server\mssql.1\mssql\backup gesichert werden.
Abhilfe: Unter Systemsteuerung -> Verwaltung -> Dienste finden Sie den Dienst SQL SERVER (JTLWAWI). Mit einem Rechtsklick gelangen Sie in das Kontextmenü. Wählen Sie hier Eigenschaften aus. Wählen Sie im Reiter Anmelden den Punkt Lokales Systemkonto aus setzen Sie den Haken bei Datenaustausch zwischen Dienst und Desktop zulassen. Nun muss der Dienst beendet und neu gestartet werden. Danach wird es möglich sein, aus JTL-Wawi heraus DB-Exporte durchzuführen.









