Jump to content

MS SQL Server Backup-Script


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich möchte per BATCH Datei eine MS SQL Datenbank sichern. (DIFFERENTIELL)

 

Getestet habe ich es bisher so:

 

if %WOCHENTAG%==Samstag goto VOLL

set BACKUP_FILE=%WOCHENTAG%_diff
del %DB_BACKUP_PATH%\%WOCHENTAG%\%BACKUP_FILE%.bak
echo Start der Datenbank-Sicherung um %date% %time% auf %COMPUTERNAME% >>%DB_LOG%
echo START DB_SICHERUNG = %date% %time% >>%DB_LOG%
%INSTPATH%\setup\tools\osql.exe -S %SQL_DB% -E -Q "BACKUP DATABASE js_doerpen TO DISK = '%DB_BACKUP_PATH%\%WOCHENTAG%\%BACKUP_FILE%.bak' WITH DIFFERENTIAL
goto rar


:VOLL
set BACKUP_FILE=%WOCHENTAG%_voll
del %DB_BACKUP_PATH%\%WOCHENTAG%\%BACKUP_FILE%.bak
echo Start der Datenbank-Sicherung um %date% %time% auf %COMPUTERNAME% >>%DB_LOG%
echo START DB_SICHERUNG = %date% %time% >>%DB_LOG%
%INSTPATH%\setup\tools\osql.exe -S %SQL_DB% -E -Q "BACKUP DATABASE js_doerpen TO DISK = '%DB_BACKUP_PATH%\%WOCHENTAG%\%BACKUP_FILE%.bak'

 

Nun ist es so, dass die Voll-Sicherung 4 GB groß ist, die erste differentielle Sicherung 10 MB und die zweite 1 MB.

 

Wie kann das? Habe ich etwas im Code falsch gemacht?

Link zu diesem Kommentar

Moin,

 

warum machst du bei einer 4-GB-Datenbank differenzielle Sicherungen? Da ist die Vollsicherung doch in Sekunden bis Minuten durch.

 

Das beobachtete Verhalten ist nicht okay, denn die nachfolgenden Sicherungen müssen natürlich immer größer werden. Vielleicht hat aber irgendjemand in der Zwischenzeit eine weitere Vollsicherung gemacht - differenzielle Backups beziehen sich in SQL Server immer auf die letzte durchgeführte Vollsicherung, nicht auf eine bestimmte historische.

 

Gruß, Nils

Link zu diesem Kommentar
Moin,

 

warum machst du bei einer 4-GB-Datenbank differenzielle Sicherungen? Da ist die Vollsicherung doch in Sekunden bis Minuten durch.

 

Das beobachtete Verhalten ist nicht okay, denn die nachfolgenden Sicherungen müssen natürlich immer größer werden. Vielleicht hat aber irgendjemand in der Zwischenzeit eine weitere Vollsicherung gemacht - differenzielle Backups beziehen sich in SQL Server immer auf die letzte durchgeführte Vollsicherung, nicht auf eine bestimmte historische.

 

Gruß, Nils

 

Ich glaube ich habe den Fehler gefunden.

 

Kurz vor dem erstellten DOS-Script wird mittels ARC Serve ein Backup des Systems (inkl. Datenbank) erstellt und auf Band gesichert.

 

Es scheint so, als würde SQL dies auch als Vollsicherung ansehen. Somit wäre es logisch, dass die differentielle Sicherungen so klein sind...

 

Der Grund für eine differentielle Sicherung liegt darin, dass wir nachts die Sicherung über eine 2 Mbit DSL Leitung verschicken und es sehr lange dauern würde, wenn wir dies jede Nacht machen würden.

Link zu diesem Kommentar
Moin,

 

na, dann war meine Vermutung ja richtig.

 

In dem Fall könntet ihr, wenn ihr eine zusätzliche Sicherung zum Versenden wollt, statt der differenziellen Backups auf inkrementelle Backups per Log-Backup umsteigen.

 

Gruß, Nils

 

Wie genau funktioniert das mit dem inkrementellen Backup per Log-Backup denn?

 

Habe ich dann nachher auch 6 aufbauende inkrementelle Backup-Dateien und eine Voll-sicherung pro Woche??

 

****

 

Mein Ziel ist es:

 

- jeden Tag eine Vollsicherung auf Band

- jeden Tag kleine Datei über S-DSL kopieren

Link zu diesem Kommentar

Moin,

 

wie wäre es, wenn du dir die dazu passenden Kapitel aus der Onlinehilfe durchliest? In einem Forenbeitrag kann man nicht mal eben das Backupsystem des SQL Server darlegen. Bei höheren Ansprüchen wäre evtl. auch ein Buch zur SQL-Server-Administration angeraten.

 

Mit Log Backups kannst du etwas abbilden, was klassischen "inkrementellen" Backups entspricht. Log Backups beziehen sich immer auf einen Vorgängerpunkt (nämlich das vorangegangene Log Backup) und können genutzt werden, um von einem (älteren) Full Backup einen bestimmten Stand oder das gesicherte Maximum wiederherzustellen.

 

Gruß, Nils

Link zu diesem Kommentar
Moin,

 

wie wäre es, wenn du dir die dazu passenden Kapitel aus der Onlinehilfe durchliest? In einem Forenbeitrag kann man nicht mal eben das Backupsystem des SQL Server darlegen. Bei höheren Ansprüchen wäre evtl. auch ein Buch zur SQL-Server-Administration angeraten.

 

Mit Log Backups kannst du etwas abbilden, was klassischen "inkrementellen" Backups entspricht. Log Backups beziehen sich immer auf einen Vorgängerpunkt (nämlich das vorangegangene Log Backup) und können genutzt werden, um von einem (älteren) Full Backup einen bestimmten Stand oder das gesicherte Maximum wiederherzustellen.

 

Gruß, Nils

 

Vielen Dank für deine Infos.

 

Bezieht sich dieses LOG BACKUP dann immer auf die eigene Sicherung oder auch auf die Gesamtsicherung, die jede Nacht ausgeführt wird?

 

Gruß

Mr.vain

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...