Mr.Vain 10 Posted June 18, 2009 Report Posted June 18, 2009 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? Quote
NilsK 2,987 Posted June 18, 2009 Report Posted June 18, 2009 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 Quote
Mr.Vain 10 Posted June 18, 2009 Author Report Posted June 18, 2009 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. Quote
NilsK 2,987 Posted June 19, 2009 Report Posted June 19, 2009 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 Quote
Mr.Vain 10 Posted June 22, 2009 Author Report Posted June 22, 2009 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 Quote
NilsK 2,987 Posted June 22, 2009 Report Posted June 22, 2009 Moin, BACKUP LOG DeineDatenbank TO ... Die Onlinehilfe zum SQL Server ist da sehr aussagekräftig. Gruß, Nils Quote
Mr.Vain 10 Posted June 22, 2009 Author Report Posted June 22, 2009 Moin, BACKUP LOG DeineDatenbank TO ... Die Onlinehilfe zum SQL Server ist da sehr aussagekräftig. Gruß, Nils So wirklich blicke ich da nicht durch. -> Ist das denn ein "vollwertiges Backup" ? Und kann ich damit auch eine differentielle Sicherung machen? Quote
NilsK 2,987 Posted June 22, 2009 Report Posted June 22, 2009 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 Quote
Mr.Vain 10 Posted June 29, 2009 Author Report Posted June 29, 2009 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 Quote
NilsK 2,987 Posted June 30, 2009 Report Posted June 30, 2009 Moin, eine Transaktionsprotokollsicherung bezieht sich immer auf die letzte Transaktionsprotokollsicherung. Wenn deine Gesamtsicherung keine solche erzeugt, greift sie in der Hinsicht nicht in das System ein. Gruß, Nils Quote
Mr.Vain 10 Posted July 1, 2009 Author Report Posted July 1, 2009 Moin, eine Transaktionsprotokollsicherung bezieht sich immer auf die letzte Transaktionsprotokollsicherung. Wenn deine Gesamtsicherung keine solche erzeugt, greift sie in der Hinsicht nicht in das System ein. Gruß, Nils Das ist ja klasse! Gibt es dazu auch ein externes Kommandozeilen Programm? Quote
NilsK 2,987 Posted July 1, 2009 Report Posted July 1, 2009 Moin, l-i-e-s-b-i-t-t-e-d-i-e-O-n-l-i-n-e-h-i-l-f-e. Gruß, Nils Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.