Pointerman Geschrieben 25. April 2003 Teilen Geschrieben 25. April 2003 Hai Leuts! Ich habe mich mal ein bischen mit dem Backup von Datenbanken beschäftigt. Ich möchte ein ein Vollbackup wieder auf den Server zurückspielen. In der Hilfe wird ziemlich oft der Parameter "NORECOVERY" verwendet. So wie ich das verstanden habe dient er dazu zu verhindern, daß ein Rollback für nicht abgeschlossene Transaktionen durchgeführt wird. -Jetzt meine Frage: Wer will denn sowas??? Wozu dient das? Ist es nicht eigentlich besser alle Transaktionen abzubrechen wenn der Server mal verreckt ist und man das Backup wirklich mal braucht? Ach ja, wie ihr vielleicht an NORECOVERY gemerkt habt arbeite ich mit Transact-SQL! Danke für Hilfe! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Enno Geschrieben 25. April 2003 Teilen Geschrieben 25. April 2003 teilweise unsere Kunden z.B. Die Kunden die nen SQL-Server haben, haben meisten so ein kleines Datenaufkommen am Tag, das ein Recovery mit wiederherstellen der Transaktionen die nach dem letzten Vollbackup gelaufen sind länger dauert als das neueingeben. Ausserdem weis von denen meistens eh keiner, welche Buchungnen wann gelaufen sind. Also Fall: Kunde läßt jede Nacht nen Vollbackup laufen (sind eh nur so 300MB was rauskommt) und jede Stunde ne Transaktionsprotokollsicherung. Beim Recovery könnte er nun aber nicht genau sagen wann er welche Buchungen am Tag gemacht hat. Also nimmt er nur das letzte Vollbackup, und klopft einfach alle buchungen des letzten Tages wieder rein. Ist für die meistens echt einfach als das Vollständige Rücksichern der Datenbank und das Raussuchen, wann was gebucht wurde, und damit schon drin ist, oder noch nachgebucht werden muss. Kunden die größere Datenmengen haben, gehen dann eh meistens auf einen sich replizierenden SQL-Server, oder auf Oracle. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 25. April 2003 Autor Teilen Geschrieben 25. April 2003 MHHHH, erstmal danke! Aaaaabbbeeeerrr ich glaub ich hab da irgendwie ein Brett vorm Kopf:confused: ! In der Hilfe steht: NORECOVERY Weist die Wiederherstellungsoperation an, keinen Rollback für Transaktionen durchzuführen, für die kein Commit ausgeführt wurde. Es muss entweder die Option NORECOVERY oder STANDBY angegeben werden, wenn ein anderes Transaktionsprotokoll angewendet werden muss. Falls weder NORECOVERY noch RECOVERY oder STANDBY angegeben wird, ist RECOVERY die Standardeinstellung. In SQL Server muss die Option WITH NORECOVERY für alle Anweisungen außer der endgültigen RESTORE-Anweisung verwendet werden, wenn eine Datenbanksicherung und mehrere Transaktionsprotokolle wiederhergestellt werden oder mehrere RESTORE-Anweisungen benötigt werden (z. B. eine vollständige Datenbanksicherung gefolgt von einer differenziellen Datenbanksicherung). Anmerkung: Wenn die Option NORECOVERY angegeben wird, kann die Datenbank nicht in diesem nichtwiederhergestellten Zwischenstadium verwendet werden. Das bedeutet doch, daß KEIN Rollback durchgeführt wird und die halben Transaktionen in der Luft rumfliegen bzw ein Rollforward gemacht wird(oder werden muss), bis zu dem Zeitpunkt, an dem die DB abgeschmiert ist!?!? Während ohne NORECOVERY ein Rollback durchgeführt wird und alle unfertigen Transaktionen abgeschossen werden. Oder bin ich jetzt auf dem Holzweg? Oder wie? Oder was? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.