Zum Inhalt wechseln


Foto

Wiederherstellen einer differenziellen Sicherung auf einem Backupserver

MS SQL

  • Bitte melde dich an um zu Antworten
25 Antworten in diesem Thema

#1 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 08. August 2012 - 13:54

Hallo,
ich versuche seit ein paar Tagen eine möglichst einfache Methode zu ermitteln um eine SQL Express Datenbank auf einem Backupserver möglichst syncron zu halten.
Da SQL Express keine Replikation erlaubt und auch keine Wartungspläne einzurichten sind, ahbe ich mir folgendes Ausgedacht.

Mittels SQLCMD mache ich Nachts ein Voll Backup der Datenbank und ein copy auf den Zielserver (per Taskplaner).
Das klappt soweit tadellos:

BACKUP DATABASE [RMCS]
TO DISK = N'D:\Backup_SQL_DB\Backup1.bak'
WITH NOFORMAT, NOINIT, NAME = N'RMCS-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO


Diese Datenbank kann ich auf dem Backupserver auch ohne Fehler wieder per RESTORE wiederherstellen.

Als nächsten Schritt möchte ich stündlich die Datenbank aktualisieren und dachte es ähnlich mit einer Diffsicherung zu machen, die dann per Script regelmäßig wieder eingespielt wird.
Jetzt habe ich das einmal von Hand mit dem Management Studio versucht.
Das funktioniert aber nicht.

Es kommt eine Fehlermeldung Vom Management Studio:
Restore failed for Server xxx
Additional information -> System.Data.SqlClient.SqlError:
The log or differential backup cannot be restored because no files are ready to rollforward.


Kann mir jemand sagen wo das Problem liegt ?

Ich weiß auch das man per Logshipping zum Ziel kommt, da habe ich aber noch keinen Plan wie das laufen kann....

Gruß
WD40

#2 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 08. August 2012 - 13:56

Wieso nutzt du keine Standard oder Enterpriseversion, bei der du alle HA Möglichkeiten zur Verfügung hast? Reicht ein Backup nicht, welches du im Disasterfall zurückspielst?

Stop making stupid people famous.


#3 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 05:47

Wieso nutzt du keine Standard oder Enterpriseversion, bei der du alle HA Möglichkeiten zur Verfügung hast? Reicht ein Backup nicht, welches du im Disasterfall zurückspielst?


Hi,
nun, die Expressversion kostet nichts im Gegensatz zu den von Dir genannten.

Das was ich haben will ist halt nice to have und sollte mit ein paar Zeilen Scrip ja zu schaffen sein. Ich habe ja auch schon das meiste gelößt, es fehlt halt nur die Option mit dem nachziehen der DIFF Sicherung.

Das eigentliche Problem ist aber nicht das fehlen der Optionen, sondern die Fehlermeldung die ich im ersten Beitrag beschrieben habe. Da ich noch wenig Erfahrung mit SQL habe, ist meine Vermutung, das ich irgendetwas triviales übersehe. Daher habe ich mich mit meinem Anliegen mal hier ans Board gewannt.

#4 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 06:24

Wie hast du das Backup am Backupserver eingespielt? Mit Norecovery?

Stop making stupid people famous.


#5 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 07:51

Ich glaube das war der entscheidende Hinweis.
FULL Backup geht mit NORECOVERY und RECOVERY.
Aber das DIFF klapt nur wenn ich vorher mit der Option NORECOVERY zurückgespielt habe.

Wenn ich das wieder mit NORECOVERY mache kann ich auch eine Weitere DIFF einspielen.

Jetzt bleibt noch eine Sache:
Wenn ich jede Stunde eine Diffsicherung mit NORECOYERY einspiele und ich dann den Fall habe das es kein weiteres DIFF File gibt, wie bekomme ich die DB dann wieder in den Normalzustand ?

Irgendein Befehl mit RECOVERY (Ohne Restore)?

#6 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 07:55

RESTORE DATABASE DB-Name WITH RECOVERY;

So viel ich weiß.

Wiso nutzt du keine Transaktions Protokoll Sicherungen für das ganze? Die gehen schneller und du hast weniger Datenverlust.

Stop making stupid people famous.


#7 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 07:58

RESTORE DATABASE DB-Name WITH RECOVERY;

So viel ich weiß.

Wiso nutzt du keine Transaktions Protokoll Sicherungen für das ganze? Die gehen schneller und du hast weniger Datenverlust.


Weil ich noch nicht weiß wie das funktioniert.
Das FULL/DIFF Backup der DB kann man ja einfach im Managementstudio zusammen klicken.
Wie gesagt SQL ist für mich ein Neues Thema auch wenn ich mich mit Servern und Netzwerk schon lange beschäftige.

#8 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 08:00

Log Backup kannst du genauso zusammen klicken und funktioniert genauso wie ein Full / Diff Backup.

Stop making stupid people famous.


#9 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 08:11

Ich vermute dieses Feature gibt's nicht in der Expressversion.
Die aktivierungsfläche für Transactionslog ist grau, also nicht anwählbar....

#10 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 08:13

Dann ist deine Datenbank nicht im Vollständigen Wiederherstellungsmodus.

Stop making stupid people famous.


#11 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 08:22

Ich dachte das sichern vom Transactionslog geht ONLINE ?
Weil die Datenbank wird ja ständig benutzt....

#12 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 08:24

Geht ja auch. Was hat das mit dem Wiederhestellungsmodus zu tun?

Stop making stupid people famous.


#13 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 08:27

Ich bin an der Stelle wo ich das Transactions log sichern will.
Das muß ich ja erst mal haben....

#14 Dukel

Dukel

    Board Veteran

  • 9.307 Beiträge

 

Geschrieben 09. August 2012 - 08:29

Dann stell doch erst mal deine Datenbank in den Vollständigen Wiederherstellungsmodus.

Stop making stupid people famous.


#15 WD40

WD40

    Newbie

  • 34 Beiträge

 

Geschrieben 09. August 2012 - 10:02

Das wird jetzt etwas dauern.
Ich habe dazu jetzt etwas zum lesen gefunden, das werde ich mir jetzt erstmal ansehen damit ich nicht so ganz "****" da stehe.

Ich melde mich später nochmal...



Auch mit einem oder mehreren der folgenden Tags versehen: MS SQL