Announcement

Collapse
No announcement yet.

Backup von MSDE DBs nur bei Änderungen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Backup von MSDE DBs nur bei Änderungen

    Hallo Zusammen<br>
    Ich betreue seit kurzen ca. 100 MSDE Datenbanken (*.mdf). Die Datenbanken sollen nur dann gebackuped werden, wenn an Ihnen etwas geändert wurde. Bei den Interbase DBs (diese hatte ich bis anhin) änderte sich das Datum des Files. Bei den *.mdf ist dies nicht mehr der Fall. Wer hat eine Lösung für mein Problem.

    Danke im Voraus

    Sascha

  • #2
    Hallo,

    beim MS SQL Server (und somit auch bei der MSDE) stehen gleich drei verschiedene Backups zur Verfügung: <br>
    1. Vollständiges Backup der kompletten Datenbank <br>
    2. Differenzielles Backup (nur die Änderungen gegenüber dem letzten vollständigen Backup werden gesichert) <br>
    3. Log-Backup (nur der Log-Inhalt wird gesichert).

    Da der Zeitbedarf für ein Log-Backup minimal ist, lohnt es sich nicht mehr, nach anderen Wegen zu suchen

    Comment


    • #3
      Hallo Andreas

      Vielen Dank für Dein Feedback. Kannst Du mir mitteilen, wo ich eine gute Anleitung für von Dir besagtes Log-Backup finde?

      Mit freundlichem Gruss

      Sasch

      Comment


      • #4
        Hallo,

        in <b>BOL</b> (alias <i>Books Online</i>). Mit diesem Begriff kennzeichnet Microsoft die Hilfedatei zum MS SQL Server. Da die MSDE ja nur die "Runtime" ist, geht Microsoft davon aus, dass der Entwickler mindestens entweder die <i>MS SQL Server 2000 Developer Edition</i> (ca. 49,- EUR oder kostenlose Zugabe bei Delphi 8) oder das MSDN-Abo besitzt und dort die Doku vorfindet.

        In der Kurzanleitung für ein SQL-Script sieht das so aus, wenn die Datenbank <i>BackupTest</i> gesichert werden soll:

        Fall A) Vollständiges Backup
        <pre>
        BACKUP DATABASE BackupTest TO DISK = 'C:\MSSQL_Backup\BackupTest.bak' WITH INIT
        </pre>

        Fall B) Log-Backup
        <pre>
        BACKUP LOG BackupTest TO DISK = 'C:\MSSQL_Backup\BackupTest_Log.bak' WITH INIT
        </pre&gt

        Comment


        • #5
          Hallo Andreas
          Dein Szenario hat mich etwas weiter gebracht. Doch nach wie vor weiss ich nicht, wie ich folgendes Problem löse. Wie erwähnt habe ich ca. 100 MDF Datenbanken. Es ist durchaus möglich, dass einige Duzend DBs über Monate hinweg nicht genutzt werden. Nach Deiner Lösung würde ich zum Bsp. jeden Sonntag ein Full-Backup jeder DB machen und Wochentags ein LOG-Backup (als incremental). Schön wäre es, wenn nur die DBs gebackuped (full und log) würden, an denen auch wirklich etwas geändert wurde. Geht das? Wie?

          Gruss

          Sasch

          Comment


          • #6
            Hallo,

            die Datenbank besteht aus den Benutzertabellen und Systemtabellen. Ich gehe jetzt davon aus, dass nur Änderungen an den Benutzertabellen erkannt werden sollen. Für diesen Fall muss man jede Tabelle mit einem Trigger überwachen, der über eine Hilfstabelle das Datum der letzten Änderung durch den Benutzer einstempelt. Dann legt man DTS-Pakete an, die zuerst das Datum der Hilfstabelle prüfen, um dann bei Bedarf das Backup auszulösen. Dieses DTS-Paket wird dann über den SQL Agent zeitgesteuert ausgeführt.

            Allerdings hat man dabei nicht die Gewähr für ein funktionstüchtiges Backup. Denn wenn in der Zwischenzeit ein Service Pack für den SQL Server eingespielt wurde (das nur die Systemtabellen in den einzelnen Datenbanken anfasst), kann ein vorliegendes Backup nicht mehr über Restore zurückgespielt werden.

            Fazit: Der Aufwand für eine derartige Unterscheidung steht in keinem Verhältnis zum Nutzen/Risiko. Zumal ein tägliches Backup (FULL oder Log) auch die Integrität der Datenbank prüft und somit frühzeitig auf ein Problem hinweist

            Comment

            Working...
            X