Datensicherung von JTL-Wawi automatisieren

Autor: Frank Dahmen

Von Frank Dahmen am 03.02.2026

Lesezeit: 6 Minuten | (4.00 / 5)

JTL-Wawi Datensicherung Backup Datenbank Automatisierung

Wie du Backups zuverlässig planst und ohne Zusatztools ausführst

TL;DR: Automatisierte JTL-Wawi Backups sind zuverlässig, wenn du sie per sqlcmd oder PowerShell ausführst, über die Aufgabenplanung zeitgesteuert laufen lässt und Backups nicht nur lokal speicherst. Mit Rotation, sauberem Logging und regelmäßigen Restore-Tests stellst du sicher, dass die Sicherungen im Ernstfall wirklich funktionieren – auch ohne SSMS.

Warum automatisierte Backups für JTL-Wawi Pflicht sind

Automatisierte Backups verhindern „vergessene Sicherungen“ und machen Wiederherstellung planbar, weil sie regelmäßig, nachvollziehbar und ohne manuelle Schritte laufen.

In JTL-Wawi stecken deine zentralen Geschäftsdaten: Artikel, Preise, Bestellungen, Kunden und Lagerbewegungen. Manuelle Sicherungen funktionieren am Anfang oft noch, werden im Alltag aber schnell vergessen oder uneinheitlich durchgeführt.

Mit einer automatisierten Datensicherung entstehen Backups in einem festen Rhythmus. Das reduziert das Risiko bei Serverausfällen, fehlerhaften Updates oder versehentlichen Änderungen an der Datenbank.

Gerade wenn Datenmengen wachsen oder mehrere Arbeitsplätze beteiligt sind, brauchst du eine Lösung, die unabhängig von Personen funktioniert: geplant, dokumentiert und prüfbar. Genau dafür ist eine stabile Warenwirtschaftssysteme-Strategie mit klaren Prozessen wichtig.

Voraussetzungen: Rechte, Zielpfad und Offsite-Strategie

Du brauchst SQL-Rechte für BACKUP DATABASE, Schreibrechte auf den Zielpfad und mindestens ein Offsite-Ziel (NAS/Cloud/anderer Server), damit das Backup auch bei Totalausfall hilft.

Für automatisierte Backups brauchst du kein SSMS. Technisch reicht ein Skript, das den SQL Server per Kommandozeile anspricht (z. B. sqlcmd oder PowerShell) und eine Sicherungsdatei erstellt.

Entscheidend sind die Basics, sonst scheitert die Automatisierung still: Der ausführende Benutzer benötigt SQL-Berechtigungen für die Sicherung und Schreibrechte auf das Zielverzeichnis. Wenn du auf ein Share sicherst oder hochlädst, kommen Netzwerk- und Zugriffsrechte dazu. Sobald Offsite-Ziele, Shares oder weitere Systeme beteiligt sind, wird eine saubere Schnittstellen- und Systemintegration besonders wichtig.

Wichtig ist außerdem der Speicher- und Aufbewahrungsplan: Wie viele Backups willst du vorhalten (z. B. 7/14/30 Tage) und wie läuft die Rotation? Ohne Rotation füllt sich das Volume irgendwann – und das nächste Backup scheitert genau dann, wenn du es brauchst.

Und bitte nicht unterschätzen: Ein Backup nur auf dem gleichen Server ist kein echtes Notfallkonzept. Plane mindestens ein Offsite-Ziel ein, sonst bist du bei Ransomware oder Hardware-Defekt schnell blank.

Backup per Skript: sqlcmd/PowerShell, Naming und Upload

Ein gutes Backup-Skript erzeugt eine eindeutig benannte .bak-Datei, prüft den Erfolg, schreibt Logs und überträgt die Sicherung optional auf ein Offsite-Ziel.

Sicherung per Kommandozeile ausführen

Das Skript ruft den SQL Server direkt auf und erstellt eine vollständige Sicherungsdatei deiner JTL-Wawi-Datenbank. Du steuerst dabei Datenbankname, Zielpfad und Dateiname über Variablen, damit das Setup wartbar bleibt.

Optional lädst du die erzeugte Datei auf ein Offsite-Ziel (z. B. FTP/SFTP, NAS, anderer Server). So liegt das Backup nicht nur lokal vor, sondern bleibt auch bei Serverproblemen verfügbar.

Wichtig: Passe die rot markierten Variablen im Skript (Zugangsdaten, Pfade, Server) an deine Umgebung an. Vermeide nach Möglichkeit harte Passwörter im Klartext und nutze stattdessen geschützte Credentials. Für dauerhaft saubere Skripte und Datenflüsse lohnt sich außerdem ein klar strukturiertes Content- und Konfigurationsmanagement.

Fragen zur Umsetzung?

Beispiel: Backup-Skript (backup.bat)
@echo off
setlocal

:: Alte Backups löschen (älter als 14 Tage)
forfiles /p "c:\backups" /s /m *.* /c "cmd /c Del @path" /d -14

:: Datum im Format YYYY-MM-DD setzen
set zeitstempel=%date:~-4%-%date:~3,2%-%date:~0,2%

:: Backup der Datenbank erstellen
sqlcmd -S (local)\JTLWAWI -U backup_user -P [PLATZHALTER: passwort] -Q "BACKUP DATABASE eazybusiness TO DISK = 'c:\backups\bak_%zeitstempel%.bak' WITH COMPRESSION"

:: Sicherstellen, dass das Backup erstellt wurde, bevor es hochgeladen wird
if exist "c:\backups\bak_%zeitstempel%.bak" (
echo Upload starten ...
curl -u [PLATZHALTER: user]:[PLATZHALTER: pass] -T "c:\backups\bak_%zeitstempel%.bak" ftp://[PLATZHALTER: host]/
echo Upload abgeschlossen.
) else (
echo FEHLER: Backup-Datei wurde nicht gefunden!
)
endlocal

Zeitplanung ohne SSMS: Windows Aufgabenplanung korrekt setzen

Nutze die Windows Aufgabenplanung so, dass der Task unabhängig von einer Anmeldung läuft, mit festen Zeiten, klaren Rechten und sauberem Logging.

Damit das Backup wirklich automatisch läuft, legst du in der Windows Aufgabenplanung einen Task an, der das Skript in einem festen Rhythmus ausführt. Bei SQL Server Express ist das der Standardweg, weil der SQL Agent fehlt.

Plane Sicherungen typischerweise außerhalb der Hauptarbeitszeiten. So vermeidest du Konflikte mit laufenden Prozessen in JTL-Wawi und reduzierst Lastspitzen auf Server und Datenbank.

Achte in der Aufgabenplanung besonders auf diese Punkte:

  • Task läuft „unabhängig von der Benutzeranmeldung“
  • Ausführung mit passenden Rechten (SQL + Zielpfad/Share)
  • Start in einem festen Arbeitsverzeichnis, damit Pfade stabil sind
  • Exit-Codes und Output werden geloggt (sonst übersiehst du stille Fehler)

Wenn du das einmal sauber einrichtest, läuft die Sicherung dauerhaft ohne zusätzliche Tools. Genau das ist das Ziel: reproduzierbar, planbar und ohne Handarbeit. Für die Überwachung solcher Jobs ist ein schlankes Reporting & Analyse im Alltag sehr nützlich.

Praxis-Tipps: Rotation, Logging und Restore-Tests

Ein Backup ist erst dann „gut“, wenn Rotation aktiv ist, Logs täglich geprüft werden und du mindestens gelegentlich einen Restore testest.

Automatisierung bringt nur dann Sicherheit, wenn du auch Kontrolle einbaust. Prüfe regelmäßig, ob neue Sicherungsdateien entstehen und ob Größe und Timestamp plausibel sind. Ein Backup, das still fehlschlägt, sieht im Ernstfall genauso aus wie „kein Backup“.

Setze ein klares Aufbewahrungsmodell um: zum Beispiel 14 Tage lokal + 30 Tage Offsite. Das senkt Risiko und verhindert, dass dir Speicherplatz ausgeht. Für viele Setups ist eine einfache Rotation per forfiles ein guter Start.

Die häufigsten Fehlerquellen in der Praxis:

  • fehlende Schreib- oder SQL-Rechte
  • zu wenig Speicherplatz im Zielpfad
  • Task läuft nur „bei Anmeldung“ oder startet im falschen Verzeichnis
  • Upload scheitert, weil Netzwerk/Firewall/Credentials nicht passen

Der wichtigste Punkt bleibt der Restore-Test: Plane gelegentlich einen Rücksicherungs-Test in eine Testumgebung ein. Alternativ kannst du wenigstens Integritätschecks nutzen, aber ein echter Restore ist die zuverlässigste Bestätigung. Damit solche Prozesse sauber zusammenspielen, sind stabile Warenwirtschafts- und Betriebsprozesse entscheidend.

Wenn du Rotation, Logging und Tests kombinierst, wird Datensicherung zu einem stabilen Prozess – und nicht zu einer Hoffnung, dass „schon alles passt“.

Häufige Fragen zur automatisierten JTL-Wawi Datensicherung

Nein. Für eine solide Automatisierung reicht sqlcmd (oder PowerShell) plus Aufgabenplanung (Windows Task Scheduler). SSMS ist nur ein GUI-Tool – technisch nötig ist es nicht.

Ja. SQL Express hat keinen SQL Agent für Jobs – aber genau deshalb ist der Windows Aufgabenplaner der gängige Weg. Das Backup läuft dann zeitgesteuert über dein Skript.

Der ausführende Benutzer braucht (1) SQL-Rechte für BACKUP DATABASE und (2) Schreibrechte auf das Zielverzeichnis. Zusätzlich: Leserechte/Netzwerkrechte, falls du auf ein NAS/Share sicherst oder per FTP/SFTP hochlädst.

Für viele Setups ist täglich ein guter Start. Wenn du viele Bestellungen/Wareneingänge hast, kann ein kürzerer Rhythmus sinnvoll sein. Wichtig ist: regelmäßig, automatisiert, geprüft – und mit Aufbewahrung/Rotation.

Besser nicht. Lokal hilft bei versehentlichem Löschen – aber nicht bei Hardware-Defekt, Ransomware oder Totalausfall. Mindestens ein Offsite-Ziel ist sinnvoll (NAS, anderer Server, Cloud).

Nur durch Restore-Tests. Mindestens gelegentlich: Backup in eine Testumgebung zurückspielen (oder zumindest RESTORE VERIFYONLY/Integritätschecks). Ein Backup, das nie getestet wurde, ist im Ernstfall oft eine Überraschung.

Typisch sind fehlende Rechte, zu wenig Speicherplatz, Datums-/Dateinamen-Probleme, gesperrte Pfade, Tasks laufen nur „bei Anmeldung“, oder Upload schlägt still fehl. Deshalb: Logging aktivieren und regelmäßig prüfen, ob neue Dateien entstehen.

Besser vermeiden. Nutze z. B. Windows Credential Manager, eine geschützte Config mit restriktiven Rechten oder einen dedizierten SQL-User mit minimalen Rechten. Hardcoded Credentials sind ein unnötiges Sicherheitsrisiko – gerade bei Backups.
Wie hilfreich war dieser Beitrag für dich?
Durchschnitt: 4.00 · 1 Bewertung
Hinweis: Die angezeigten Bewertungen werden nicht auf Echtheit überprüft.
Frank Dahmen – Autor

Über Frank Dahmen

Frank Dahmen beschäftigt sich seit den Anfängen des Internetzeitalters Mitte der 1990er Jahre intensiv mit Webentwicklung und Programmierung. Seine langjährige Erfahrung reicht von klassischen Webtechnologien bis hin zu modernen Software- und Systemarchitekturen. Besondere Interessen liegen in den Bereichen IT-Security und Künstliche Intelligenz, er greift aber auch gerne andere Themen rund um das IT-Geschehen auf.

Weiterführende Beiträge

Unsere Lösungen für dich – passend zum Thema

Service-Berater bei nextio.digitalBild mit KI-Unterstützung erstellt
Lass uns über dein Projekt sprechen.

Wir zeigen dir, welche Lösung technisch sinnvoll ist und langfristig funktioniert.

(02434) 3088-585