ferix 10 Geschrieben 16. Dezember 2010 Melden Teilen Geschrieben 16. Dezember 2010 Hallo zusammen, ich war heute bei jemandem vor Ort, der einen Windows XP Rechner als kleinen Server hat. Dort läuft eine MS SQL Server Desktop Engine mit Datenbank. Diese Datenbank möchte ich nun regelmäßig sauber sichern. Momentan läuft als Sicherungsprogramm nur Acronis True Image 2009 Home. Wenn ich richtig liege sichert Acronis zwar die Datenbankdateien. Aber im laufenden Betrieb des SQL Servers und das darf doch nicht sein denke ich. Wieso eigentlich? Also wieso darf man zur Sicherung der Datenbank nicht einfach die .mdf und .ldf im laufenden Betrieb kopieren? Wieso funktioniert das nicht? Frage daher: Wie kann ich sauber sichern? Mit dem für die Desktop Engine verfügbaren Tool osql und dem BACKUP Befehl. Also mit einer Batch, die dann ein sauberes Datenbankbackup erstellt??? Wie gesagt sehr interessieren würde mich auch, wieso ich die Datenbankdateien nicht einfach im laufenden Betrieb sichern/kopieren kann und dafür der SQL Dienst gestoppt werden oder die Datenbank abgehängt werden muss!?!? Danke für eure Rückmeldung. Zitieren Link zu diesem Kommentar
GuentherH 61 Geschrieben 16. Dezember 2010 Melden Teilen Geschrieben 16. Dezember 2010 Hallo. wieso ich die Datenbankdateien nicht einfach im laufenden Betrieb sichern/kopieren kann Weil du bei einer Datenbank nie weißt ob sie nicht gerade im schreibenden Zugriff ist, welche Transaktionen laufen usw. Um gesichert zu werden, muss sich die Datenbank in einem eindeutigen konsistenten Zustand befinden. Und ja, osql ist das Tool deiner Wahl. LG Günther Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 16. Dezember 2010 Melden Teilen Geschrieben 16. Dezember 2010 Moin, mal ganz abgesehen davon, dass die XP-Lizenz es nicht erlaubt, das System als Datenbankserver für externe Zugriffe zu betreiben ... faq-o-matic.net Automatische Backups fr SQL Server Express Gruß, Nils Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Erstmal danke für euer Feedback. Dass man XP nicht als Datenbankserver nutzen darf, wusste ich nicht. Geht mich in diesem Fall aber auch nichts weiter an (ich werde dennoch darauf hinweisen!), da ich lediglich ein OnlineBackup einrichten sollte und nicht der zuständige Systemadministrator bin. Mir wurde auch von einer Access-Datenbank berichtet, die ich hätte problemlos wegsichern können und dann wars doch SQL...nunja wie es eben manchmal so ist. Weil du bei einer Datenbank nie weißt ob sie nicht gerade im schreibenden Zugriff ist, welche Transaktionen laufen usw. Um gesichert zu werden, muss sich die Datenbank in einem eindeutigen konsistenten Zustand befinden. Ist eine Rücksicherung, wenn man die DB-Dateien im laufenden Betrieb kopiert und wegsichert, unter Umständen möglich oder niemals machbar. Mir ist das Problem ja selbst bekannt und ich gehe davon aus dass die DB fehlerhaft und inkonsistent sein könnte und somit nicht mehr wiederherstellbar. Ich wundere mich nur, dass der Systembetreuer mit einer normalen Acronis Home Version sichert und das System damit auch schon wieder hergestellt hat. Eigentlich dürfte das doch auch nicht gehen!? Ich werde mir das osql mal zu Gemüte führen und damit dann arbeiten. @NilsK: Habe mir deinen Artikel mal angeschaut und noch eins, zwei Fragen: Das folgende Skript sichert sowohl die Datenbank selbst als auch die Transaktionsprotokolle in jeweils eine Datei. Letzteres ist wichtig, falls das "Wiederherstellungsmodell" der Datenbank auf "Vollständig" steht. Wird in diesem Fall keine regelmäßige Transaktionsprotokollsicherung durchgeführt, kann die Serverfestplatte volllaufen. Im Beispiel heißt die Datenbank "MeineDB". Das mit dem Transaktionsprotokoll und dem Volllaufen der Festplatte verstehe ich nicht so ganz. Könntest du das noch einmal erläutern? Oder kann man dazu irgendwo was lesen? Ich bin nocht so ganz fündig geworden. Weiterhin verstehe ich den Zusammenhang der 2 Codeblöcke nicht so ganz. Codeblock 2 ruft den ersten auf? Aber an welcher Stelle? Wo und mit welchem Namen ist der erste Codeblock dann abzuspeichern? Übrigens: dein Blog ist echt toll! Verfolge ich fleißig, allerdings weniger im Bereich SQL. Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Weiterhin verstehe ich den Zusammenhang der 2 Codeblöcke nicht so ganz. Codeblock 2 ruft den ersten auf? Aber an welcher Stelle? Wo und mit welchem Namen ist der erste Codeblock dann abzuspeichern? Ok da hab ich auf dem Schlauch gestanden. Die BACKUP-Statements sind in der MeineDB-FullBackup.sql hinterlegt, die im Codeblock 2 aufgerufen wird... Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 faq-o-matic.net Warum muss eine Datenbank zum Backup konsistent sein? Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Ahhh vielen Dank. Das leuchtet ein. Aber demnach brauche ich immer unbedingt auch ein Backup des Transaktionsprotokolls und kann mit der Sicherung der reinen Datenbank, egal ob im laufenden Betrieb kopiert oder "sauber" gesichert, nichts anfangen!? Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Es kommt drauf an. Wenn die DB "sauber" gesichert wurde kommt man mit einem Restore ohne die Transaktionsprotokolle zu dem Zeitpunkt als die Sicherung durchgeführt wurde (wie auch beim einfachen Wiederherstellungsmodus). Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Und wieso geht das nicht mit einem einfachen Kopieren der Datenbank? Weil im Moment des Kopiervorgangs die DB gerade beschrieben werden könnte nehme ich an!? Zitieren Link zu diesem Kommentar
gb69 10 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Off-Topic:Moin,mal ganz abgesehen davon, dass die XP-Lizenz es nicht erlaubt, das System als Datenbankserver für externe Zugriffe zu betreiben ... Gut das dann MS selbst den BCM für Outlook im Programm hat und dieser seine SQL-Server Express Datenbank für Andere im Netzwerk freigeben kann. BTT: Benutze eine Sicherungslösung, die die Windows VSS-Api für Sicherungen benutzt, bspw. macht BESR von Symantec dies.Ansonsten sind die Tipps mit der Sicherung per OSQL oder Management-Studio Express schon in Ordnung.Gibt es im Acronis Sicherungsjob keine Möglichkeit, den SQL-Server per Script anzuhalten und anschließend zu starten? Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Moin, Und wieso geht das nicht mit einem einfachen Kopieren der Datenbank? Weil im Moment des Kopiervorgangs die DB gerade beschrieben werden könnte nehme ich an!? liest du die Links, die man dir postet? Gruß, Nils Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Moin, Off-Topic: Gut das dann MS selbst den BCM für Outlook im Programm hat und dieser seine SQL-Server Express Datenbank für Andere im Netzwerk freigeben kann. das hat genau was mit den Lizenzbedingungen von Windows XP zu tun ...? Gruß, Nils Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Von Stoppen und wieder Starten des Dienstes halte ich nicht so viel, genauso wie von Abhängen und wieder Anhängen der Datenbank. Da ich nicht der Systemadministrator bin und an dem Gerät nichts eingerichtet habe und weiß wie gut es läuft ist mir dann das Risiko zu hoch, dass der Dienst vielleicht doch nicht mehr startet nach dem Backup oder das Anhängen der DB nicht funktioniert. Daher lieber den Weg über eine Sicherung mittels osql. Ist wohl die beste und sicherste Lösung oder wie ist hierzu die Meinung? Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Moin, was soll man darauf antworten? Wichtig ist, dass man im Fall des Falles die Methoden zur Wiederherstellung kennt ... Gruß, Nils Zitieren Link zu diesem Kommentar
ferix 10 Geschrieben 17. Dezember 2010 Autor Melden Teilen Geschrieben 17. Dezember 2010 Moin, liest du die Links, die man dir postet? Gruß, Nils Klar. Das war jetzt unabhängig von dem Transaktionsprotokoll gesehen die Frage. Sprich wenn einem Daten, die vielleicht im Transaktionsprotokoll stehen, aber noch nicht in der DB sind, nicht ganz so wichtig sind bzw. die Datenbank ohnehin nicht allzu start frequentiert ist. Und da wollte ich nur nochmal die Bestätigung, dass es wenn es rein um das kopieren der Datenbank geht eben innerhalb der DB zur Inkonsistenz und Problemen kommen kann, wenn die DB im laufenden Betrieb kopiert wird. Und das ist ja so oder nicht? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.