Jump to content

sql db jeden abend zurücksetzen


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

Empfohlene Beiträge

Geschrieben

Hoi Zäme!

 

Ich habe den Auftrag, dass jede Nacht um 24.00 Uhr eine bestimmte SQL Datenbank wieder zurückgesetzt wird, bzw. der Initialdatenbestand wieder hergestellt wird (weil wir Kunden mit dem System spielen lassen).

Nur finde ich keine einfache lösung, wie ich das anstellen soll. eine möglichkeit mit einem backup der db, dass ich immer um 24 Uhr wieder darüberschreibe wäre noch sinnvoll aber wie führe ich das aus?

...es gibt aber sicher einfachere lösungen, nicht?

 

Habt ihr irgendwelche Ideen?

 

danke und gruss

 

Simon

Geschrieben

Wie mein Vorredner schon gesagt hab am besten per Batch.

 

- SQL Dienst Beenden

- Datenbankdatei löschen

- Gesicherte Datei ins Verzeichnis kopieren

- SQL Dienst starten

 

Und ab damit in den Taskplaner ; )

 

Undying

Geschrieben

hey danke für eure tipps!

 

Aber gibt es nicht etwas was nicht so "dirty" ist wie das beenden und starten per batch?

es sind eben noch ganz viele andere db's im system vorhanden und ich trau den batchfiles nicht so ganz...

 

gruss simon

Geschrieben

Von der DB ein Backup ziehen (mit dem Assistenten im SQL).

Diese Backup über den SQL-Server-Agent einfach zeitgesteuert als Job jeden Abend zurücksichern. Dieser Restore-Aufrag läßt sich auch prima mit dem Assistenten zusammenklickern.

Geschrieben

hallo! danke für deine tipp!

 

so wäre es genau perfekt...

nur bringe ich das nicht ganz hin.. du schreibst, dass es sich leicht per assisten zusammenklicken lässt aber ich bringe das nicht hin... kannst du mir eine kurze anweisung geben?

 

Danke und Gruss

 

Simon

Geschrieben

Backup:

Datenbank mit der Maus markieren

Rechte Maustaste -> Alle Tasks

Datenbank sichern ....

Datenbank: <deine Datenbank>

Name: <Backup DB>

Beschreibung: <optional>

Sicherung: Datenbank vollständig

Ziel -> Hinzufügen

Sicherungsmedium -> <Neues Sicherungsmedium> -> Namen für das Medium angeben, Speicherort angeben

 

Wenn die Sicherung nur einmal ausgeführt werden soll, einfach auf OK (sonst Zeitplan festlegen).

 

Die Datenbank wird jetzt in das angegeben Medium gesichert.

 

 

Restore nach Zeitplan:

Verwaltung -> SQl Server Agent

Aufträge -> Neuer Auftrag

Name: <Name des Auftrages>

Karteikarte Schritte -> Neu

Schrittname: <DB Restore>

Typ: Transact SQL-Skript (TSQL)

Datenbank: master

Befehl: restore database <Dein Datenbankname>]/i] from <Dein Medienname das das Backup enthält>

Analysieren (da sollte ein "Analyse erfolgreich" kommen

OK

Karteikarte "Zeitpläne"

Neuer Zeitplan -> Name für den Zeitplan angeben

Wiederholt -> Ändern -> Wie gewünscht festlegen

OK

OK

OK

 

In der Liste der Aufträge sollte jetzt der Restore-Job zu sehen sein

 

Um den Job zu testen kannst Du ihn mit der Maus markieren, rechte Maustaste -> Auftrag starten (Achtung!!! Sichert sofort die DB zurück, wenn alles funktioniert)

 

Die Geschichte ist ohne Netz und doppelten Boden!!! D.h. sind noch User mit der DB verbunden, kann es zu Fehlern kommen.

Evtl. müßtest Du da noch "Fehlerabfragen", "Session-schließen", "DB auf dbo_only setzen" oder ähnliches einbauen.

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...