Verschiedene einfach zu handhabende Back-Up Möglichkeiten für MS SQL Server

Ich sehe gerade, dass die WaWi, zu der ich wechseln möchte, anscheinend eine ganz gute Dokumentation hat, auch zum Datenbankbackup.
Der für mich entscheidnde Teil ist hier. Mir ist aber nicht ganz klar, wo dieser Code eingegeben werden soll. Weiß das jemand hier? Wie schätzt ihr den Guide hier ein? Ist das so brauchbar?

2009 hatte ich Acronis True Image Server im Einsatz. Da musste man noch nicht mit Begriffen wie Cyber und Cloud arbeiten um eine simple Backup Software zu verkaufen,
Soweit ich das verstehe, haben die nun verschiedene Produkte- das, was ich meine, ist wohl auch speziell für Datenbankbackups gedacht. Bei dem 'True Image' bin ich mir nicht sicher, ob diese Software das (heute) kann. Möglicherweise hat man diese Funktion da herausgenommen, weil 'Home'-Anwender ja i.d.R. keine Datenbanksicherung brauchen.
 
Werbung:
. Ich würde da in Richtung kleiner Server schauen, nicht ein Notebook nehmen das sich physisch bewegt, z.B. in der Form:
Nach HP Proliants habe ich auch schon geschielt. Sie sind teilweise preiswert 2nd Hand zu finden. Bei dem nun verwendeten Notebook ist es so, dass es kaum bewegt wird. Der Vorteil ist einfach, dass Eingabe (Tastatur) und Ausgabe (Monitor) bereits dran sind und die Leistung für meine Zwecke mehr als ausreichend sein sollte. Selbst aber, wenn ich nun so einen kleinen speziellen Seerver hätte- als singuläre Datenbankhardware bringt mir das m.E. im Fall der Fälle weniger als zwei Notebooks (die idealerweise sogar noch an zwei verschiedenen Orten stehen) und in einem Netzwerk verbunden sind. Obendrein haben die Notebooks SSD-Speicher, die mechanisch nicht anfällig sind.

Ich glaube explizite Server-Hardware zahlt sich dann aus, wenn der Server z.B. durch einen stark frequentierten Onlineshop rangenommen wird und ständig schnell liefern muss. Dann wird man sicherlich noch eine Menge weiterer Dinge beachten müssen. Dies ist aber bei mir (zunächst mal) nicht der Fall.
 
Für Nutzer der Express-Version von Microsoft SQL Server beschreibt folgender Workaround die automatische Datenbanksicherung (Hauptdatenbank und/oder Mandantendatenbanken) als geplanten Windowstask

Die .bat Datei:

Die entsprechenden Sicherungsordner müssen vorher erstellt werden z. B. d:\backup\eazybusiness\mandant_1 usw.
JTL zielt wohl genau auf diese kleinen Fälle ab. SQL Express, Windows-Task anlegen, Task ruft bat Datei auf, der Code steht in der bat. Das wurde hier Eingangs eigentlich auch schon so skizziert und ist auch nicht schlecht. Man muss nur sicher stellen, das der Task auch läuft und Bacups statt finden. Man sollte wissen, was man tun muss um es wieder einzuspielen, um es ggf. auch mal zu testen.

Und das Passwort steht im Klartext in dem Script, ich würde die das anlegen eines Backup Benutzers mit ausschließlich Leserechten empfehlen. Dazu schreiben die bei JTL leider nichts, aber mit Sicherheit by Design haben die es nicht so :)
 
Ja auch.

Die Offline Sicherung ist nicht alternativlos aber der praktikabelste Weg sich vor Verschlüsselung der Backups zu schützen. Keine Offline Sicherung und keine Alternative (z.B. Immutable Backup Repository)? - Unverantwortlich.
Dann mach das mal für mehrere hundert Terabyte. Und nein, Offline Sicherungen macht niemand im professionellen Umfeld mit mehreren Hundert Terabyte an Backupdaten.
 
Und nein, man macht nicht nach jeder Datenbank-Transaktion eine Sicherung, das wäre ja Wahnsinn. Wenn wirklich keine Transaktion verloren gehen darf dann muss man eine hoch verfügbare Lösung bauen aber ich denke nicht, das deine Guthaben-Karten das erforderlich machen. Wenn das System abraucht dann sind halt die Daten seit dem letzten Backup weg, das ist, denke ich, vertretbar.
Mehr oder weniger doch. Nennt sich Backup des Transaktionslogs. Dazu brauchste keine Hochverfügbarkeitslösung weil diese dich nicht vor Datenverlust schützt sondern nur das Backup des Tranaktionslogs.
Ich finde alles was mit Cluster und always on und mehreren Hosts zu tun hat völlig oversized. Entscheidend ist dabei was das Ziel ist. I.d.R. kann jedes KMU damit leben wenn im Härtefall 24h an Daten verloren gehen. Man sollte natürlich die Chancen dafür minimieren, also z.B. besonders zuverlässige Hardware anschaffen und einen kleinen RAID aufsetzen. Ich würde da in Richtung kleiner Server schauen, nicht ein Notebook nehmen das sich physisch bewegt, z.B. in der Form:
Nö, isses nicht. Es kommt auf die Anforderungen der Firma an. Egal ob KMU oder nicht. Und da du diese nicht kennst weiß du nicht ob ein KMU auch 24 Std. Datenverlust hinnehmen kann.
Und das Passwort steht im Klartext in dem Script, ich würde die das anlegen eines Backup Benutzers mit ausschließlich Leserechten empfehlen. Dazu schreiben die bei JTL leider nichts, aber mit Sicherheit by Design haben die es nicht so :)
Leserechte werden für Backups gar nicht gebraucht. Backups dürfen die Rollen sysadmin, db_owner und db_backupoperator machen.
 
Hier ist jedenfalls viel Wissen versammelt. Als Anwendungsdummie und Fragensteller wollte ich jetzt doch nochmal was zur Anwendung, zur Größenordnung, der Situation mit ihren Problemen und prospektiven Änderungen und damit etwas zu den Randbedingungen sagen:

Zur Anwendung: WaWi, POS und Onlineshop
Ich steige dezeit von einer Warenwirtschaft (Faktura XP) mit POS [Kasse] (Faktura.Cash) auf eine andere Warenwirtschaft (JTL WaWi) mit POS (JTL POS) um. Der Umstieg hat viele Gründe, die ich aber hier nicht ausführlich erörtern möchte (ggf. gerne per PN). Wer sich datebanktechnisch berufen fühlt, möge sich aber gerne die Systeme mal näher anschauen- beide laufen auf dem MS SQL Server (die Faktura nur auf der 2008 R2 Version und mit speziellem kostenpflichtigen Skript auch auf den neueren Versionen, die JTL WaWi mit der jeweils aktuellen Version). Ferner laufen die Faktura XP und Cash im 'Frontend' auf MS Access (in günstigeren Versionen der WaWi bleibt es bei MS Access als DB, bei besseren Varianten läuft die WaWi auf dem SQL Server).
Wegen vielfältiger Probleme mit der Faktura XP / Cash Software wechsle ich nun zu JTL. Ich hoffe, es ist die richtige Wahl, aber ich habe ein gutes Gefühl.
Diese Art von WaWis und die Strukturen und Produkte, die sich darum herum gebildet haben, sind eine spezielle Produktwelt, die sich in erster Linie an Onlineshopbetreiber, Verkäufer auf Plattformen (eBay, Amazon) und mit Nutzung einer Kasse im Laden ('Point of Sale' [POS]) an Realisierer von 'Multichannel-Vertrieb' richtet. Es gibt in diesem Bereich eine Menge Anbieter. Derzeit findet aber wohl eine starke Marktkonzentrierung statt. Meiner Einschätzung nach hat JTL ein enorm starkes Potential ein starker Anbieter in der folgenden Marktkonsolidierung zu werden.

Zur Datenbank / DBMS: Es handelt sich um MS SQL Server Express / ggf. Vollversion
Dies ist vom Hersteller jeweils so vorgegeben und kann nicht geändert werden! Die Frage, warum jeweils diese Datenbank und keine andere genommen wurde kann ich nicht beantworten.


Meine Anwendung
Irgendwie muss es an mir liegen... ich mache alles anders
:cool:

Ich betreibe derzeit noch keinen Onlineshop (vom Ursprung her eigentlich die erste Anwendung für solche WaWis, siehe oben), sondern nur eine Kasse (POS). Ein Onlineshop soll irgendwann später kommen. Die Kasse zieht sich dabei die Informationen (Artikeldaten, Kundendaten) aus der WaWi / dem SQL Server, wobei die Kasse selbst auch eine kleine Datenbank hat, da diese auch bei Ausfall der Verbindung zum SQL Server funktionieren muss. Es kommt dabei auch auf die richtige Austarierung an, wie oft abgeglichen wird, was wiederum auch mit der Art der Daten zusammenhängt.
Beispiel: Würde es bei jedem Kassiervorgang eine Abfrage der zentralen WaWi geben, so würde der Vorgang spürbare Latenzzeiten haben (vielleicht mal von ultraschnellen Verbindungen abgesehen). Dei Artikeldaten werden also v.a. in der Kasse selbst abgerufen. Bei Zahlungen mit Guthaben-Kundenkarten wird es schwieriger: Bei nur einem Laden (POS) würden auch hier lokale Datenbankabgleiche reichen, aber ab zwei Läden ginge das schon nicht mehr, da mit derselben Kundenkarte in jedem der Läden eingekauft werden kann. Daher muss für die Kundenkarten jede Transaktion zentral abgeglichen werden, was natürlich möglichst flott gehen sollte.

Stand jetzt: Die MS SQL Server Datenbank der bisherigen WaWi ist (mit Hilfe des Supports der Firma) von einer gehosteten Datenbank zu mir (lokal auf das ThinkPad) umgezogen. Die Kundenkarten sind derzeit nicht in Betrieb- erst dann, wenn wieder alles sicher und stabil läuft. Noch läuft das alte System mit Faktura XP / Cash. Es ist derzeit wieder eine Pest, weil sich irgendeine Datei zumüllt (habe vergessen welche das ist, hat mit irgendeinem dieser unzähligen Windowsprobleme zu tun)- ein Kassiervorgang dauert eine halbe Ewigkeit, so dass die Kunden und ich genervt sind. Die JTL-POS läuft auf Android und ich hoffe, dass das weniger schlimm ist als Windows.

Der nächste Schritt ist der Umzug auf JTL-WaWi / POS. Hier sind noch einige Dinge zu klären, aber im Wesentlichen steht alles. Ich muss nur noch mit den Daten umziehen, was aber wahrscheinlich schlimmer klingt als es ist- denn ich habe nur relativ wenige Artikeldaten. Die Kundendaten sind alle anonym, so dass DSGVO, etc. auch kein Thema ist.

JTL hat schon eine ganz nette Übersicht zur Datensicherung zusammengestellt. Trotzdem versuche ich noch hier und da über den Tellerrand zu schauen, ob vielleicht irgendwas noch besser gemacht werden kann. Dazu lese ich aufmerksam, was die Experten hier dazu schreiben :)
Gerade auch, was das Gesamtkonzept angeht, habe ich bestimmte Vorstellungen. Langfristig würde ich das Ganze wahrscheinlich wieder auf einem professionell gehosteten Server laufen lassen. Aber wahrscheinlich ist es auch der Wunsch nach Erfahrungssammlung, dass ich das nun erstmal anders anfangen möchte.

Mir ist übrigens noch ein Vorteil des Notebooks als Server eingefallen: es hat eine eingebaute USV! Der Notebookakku hält durchaus eine gewisse Zeit durch, v.a. wenn der Monitor abgestellt ist. Eine der Fragen die mich beschäftigen ist, wie man die Backup-Strategie vervollständigt. Ich werde ja einen zweiten Computer mit einer weiteren MS SQL Server Instanz brauchen, die dann mit den Backups gefüttert wird. Sollte ich den direkt neben den ersten (das Notebook) stellen, so dass der Betrieb schnell wieder aufgenommen werden kann? Oder lieber weit weg und über Internet erreichbar, damit dieser Computer von evtl. Schäden (Brand, Diebstahl, etc.) verschont bleibt?

Die Backup-Strategie wäre, siehe oben, vor allem für die Kundenkarten wichtig, um den aktuellen Saldo jeweils zu registrieren.

Noch eine weitere technische Frage: Die MS SQL Server Datenbank gibt es ja auch in einer Version für Linux
Würden sich unter Linux evtl Möglichkeiten eröffnen, die unter Windows 11 nicht da sind oder schwieriger zu realisieren sind?
 
Dann mach das mal für mehrere hundert Terabyte. Und nein, Offline Sicherungen macht niemand im professionellen Umfeld mit mehreren Hundert Terabyte an Backupdaten.
Ich sagte ja bereits es gibt andere Lösungen. Aber klar, man kann auch für eine JTL Wawi SQL Express DB mit 100 MB einen Cluster bauen und minütlich sichern. Das ist bestimmt nicht so teuer oder Wartungsintensiv und beim Restore kann eigentlich auch nichts schief gehen, ist ja scheinbar Stand der Technik.
 
Beispiel: Würde es bei jedem Kassiervorgang eine Abfrage der zentralen WaWi geben, so würde der Vorgang spürbare Latenzzeiten haben (vielleicht mal von ultraschnellen Verbindungen abgesehen). Dei Artikeldaten werden also v.a. in der Kasse selbst abgerufen. Bei Zahlungen mit Guthaben-Kundenkarten wird es schwieriger: Bei nur einem Laden (POS) würden auch hier lokale Datenbankabgleiche reichen, aber ab zwei Läden ginge das schon nicht mehr, da mit derselben Kundenkarte in jedem der Läden eingekauft werden kann. Daher muss für die Kundenkarten jede Transaktion zentral abgeglichen werden, was natürlich möglichst flott gehen sollte.
[...]
Die Backup-Strategie wäre, siehe oben, vor allem für die Kundenkarten wichtig, um den aktuellen Saldo jeweils zu registrieren.

Das hat jetzt nichts mit Backup zu tun! Backup ist dafür da, wenn Daten gelöscht wurden, die nicht gelöscht werden sollten oder ein System nicht mehr verfügbar ist.

Du willst eine Replikation innerhalb deiner Anwendung bzw. der Datenbank. Das hat alles nichts mit Backup zu tun.
Ein Backup brauchst du trotzdem!

Es ist derzeit wieder eine Pest, weil sich irgendeine Datei zumüllt (habe vergessen welche das ist, hat mit irgendeinem dieser unzähligen Windowsprobleme zu tun)- ein Kassiervorgang dauert eine halbe Ewigkeit, so dass die Kunden und ich genervt sind. Die JTL-POS läuft auf Android und ich hoffe, dass das weniger schlimm ist als Windows.

War es evtl. das Transaktionsprotokoll, was vollläuft? Das hat dann nichts mit Windows sondern mit der Datenbank zu tun.

Noch eine weitere technische Frage: Die MS SQL Server Datenbank gibt es ja auch in einer Version für Linux
Würden sich unter Linux evtl Möglichkeiten eröffnen, die unter Windows 11 nicht da sind oder schwieriger zu realisieren sin?

Ein Vorteil wäre, dass man ein Server OS und kein Client OS nutzen könnte!
 
War es evtl. das Transaktionsprotokoll, was vollläuft? Das hat dann nichts mit Windows sondern mit der Datenbank zu tun.
Ich glaube ja. Der Support der Firma ist schwierig geworden, die hatten mir früher ein paar Mal per Fernwartung den Müll entsorgt, aber ich kann mich nicht mehr genau daran erinnern, was das war. Der Supportmensch sagte, es wäre ein Windowsproblem, aber der Support dieser Firma hat auch oft, glaube ich, viel erzählt wenn der Tag lang ist... :-/

Ich bin bekanntlich kompletter Laie, aber würde ich sowas zusammenbasteln, würde ich mir überlegen, ob man den Müll nicht automatisch in gewissen Abständen entsorgt; 'dump' nennt sich sowas AFAIK.
 
Werbung:
Mit Dump meint der Supporter, er hat ein Backup erstellt. Dieses sorgt dafür, dass das Transaktionsprotokoll abgeschnitten wird. Siehe Link, den ich gepostet habe.
Das hat aber nichts mit Windows zu tun, das selbe "Problem" hast du mit anderen OS und auch anderen Datenbanken auch.

Kurz zusammengefasst. In MSSQL gibt es einen Simple und einen Full DB Modus. Bei ersterem wird dir das Transaktionsprotokoll nie volllaufen, aber du kannst keinen Point-In-Time Restore machen sondern nur Restores zum letzten "richtigen" Backup. Außerdem gehen dann bestimmte HA Möglichkeiten nicht.
Beim Full Modus muss man ein regelmäßiges Backup erstellen, damit das Transaktionsprotokoll abgeschnitten wird. Dafür kann man einen Point-in-Time Restore machen.


Wenn du Laie bist, such dir einen kompetenten Dienstleister, mit dem du das ganze Thema von vorne (!) durchgehst. Starte mit deinen Anforderungen und Voraussetzungen und erstell ein Konzept und halte dich daran.
 
Zurück
Oben