none
wie führe ich backup-scripte regelmäßig aus? RRS feed

  • Frage

  • hallo zusammen,

    ich bin beschäftige mich erst seit Kurzem mit SQL und habe dies betreffend eine Frage.

    Ich möchte meine Datenbank regelmäßig gebackupt haben und habe schon die Möglichkeit entdeckt im MS SQL Server Management Studio (SQL Server 2008) ein Backupscript aufzuführen und dieses auch speichern zu lassen. Jetzt frage ich mich allerdings, wie ich das dann regelmäßig ausführen lassen kann? Und nachträglich stellt sich mir auch die frage, ob ich das Gesicherte dann auch wieder problemlos eingespielt bekomme, wenn das mal nötig sein sollte, weil die Ausgabe ist ohne Dateinendung. Soweit ich mir das bis jetzt vorstellen kann, brauche ich nachher nur eine neue gleichnamige Datenbank erstellen und diese Daten dann importieren.

    Kann mir hier jemand Gewissheit geben?

    Mit freunflichen Grüßen

    Marcel

    Mittwoch, 18. Mai 2011 12:11

Antworten

  • Super Olaf,

    das war der letzte fehlende Hinweis!

    Herzlichen Dank für die kompetente Hilfestellung an alle Beteilgten!!!

    MfG Marcel

    • Als Antwort markiert perfectsky Dienstag, 24. Mai 2011 13:00
    Dienstag, 24. Mai 2011 13:00

Alle Antworten

  • Hallo Marcel,

    man kann im SQL Server (ausser Express Edition) einen Wartungsplan zum Sichern der Datenbanken anlegen und diesen zeitgesteuert ausführen lassen. Wenn Du Dein eigenes Script ausführen möchtest, geht es über einen (ebenso zeitgesteuerten) Job für den SQL Server Agent.

    Die Endung der Backup-Datei ist nebensächlich. Den Restore kannst Du testen, indem Du das Backup als neue Datenbank zurücksicherst.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Mittwoch, 18. Mai 2011 12:36
  • Hallo Olaf,

    soweit sind deine Instruktionen sehr deutlich. Nur bei der Überprüfung auf meinem Server habe ich keine Optionen den Agenten zu steuern. Ich habe in den Diensten nochmal kontrolliert und den entsprechenden Dienst dann aktiviert und neugestartet, was mir allerdings keine Änderungen gebracht hat im Management Studio des SQL2008. Weder Wartungspläne noch SQL Agent werden angezeigt. Ich hab zwar die enligsche Version, aber das sollte kein Hindernis sein. Allerdings ist mir ein kleiner Fehler unterlaufen, ich habe die Express Version vom 2008, weil war ja ein gratis Download. Obwohl ich keinen Hinweis auf die Express Version gefunden habe (also es steht nirgends explizit so eingetragen).

    MfG Marcel

    PS: Danke trotzdem erstmal!

    • Als Antwort markiert perfectsky Mittwoch, 18. Mai 2011 15:08
    • Tag als Antwort aufgehoben perfectsky Mittwoch, 18. Mai 2011 15:08
    Mittwoch, 18. Mai 2011 14:26
  • Hallo perfectsky,

    um welche Edition und Version es sich handelt kannst du mit folgendem Script ermitteln:

    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
    Das Ergebniss könnte dann so aussehen:

      10.50.1734.0    RTM    Express Edition

    Damit weißt Du dann das du die Express Edition hast und somit Dir dieses Feature nicht zur verfügung steht.

    In diesem Falle kannst du jedoch die Sicherung über das Dienstprogramm sqlcmd durchführen lassen:

    http://technet.microsoft.com/de-de/library/ms165702%28SQL.90%29.aspx

    Du erstellst einfach eine Batch-Datei, die Du über die geplanten Task entsprechend Deinen Anforderungen aufrufst.

     


    Gruß Falk
    Mittwoch, 18. Mai 2011 16:41
  •  ich habe die Express Version vom 2008,


    Hallo Marcel,

    wie Falk schon schrieb, die Express Edition hat keinen SQL Server Agent und allein deswegen werden auch keine Wartungspläne unterstützt. Der Dienst als solches wird zwar mit installiert, lässt sich aber nicht starten.

    Es gibt aber andere Möglichkeiten zeitgesteuerte Backups zu erstellen, siehe z.B.:
    MSSQLTips: Automating SQL Server 2005 Express Backups and Deletion of Older Backup Files
    MSSQLTips: Scheduling Backups for SQL Server 2005 Express

     


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Donnerstag, 19. Mai 2011 05:56
  • Hallo zusammen,

    danke erstmal für die gute Stütze!

    ich hab ein bisschen rumgefummelt bis ich alles so weit zusammen hatte. Das SQL-script lief durch, das VBScript lief durch, nur konnte ich noch nicht erkennen das es was tut, also ich hab nach erneutem ausführen redundante Backups im Ordner liegen.

    Ich habe das unter diesem Link zu findede VBScript benutzt.

    http://www.mssqltips.com/tip.asp?tip=1486

    Den Pfad hab ich natürlich angepasst, aber irgendwie macht es nicht ganz was es soll. Naja, der Rest funktioniert ja erstmal und das ist schon mal top. Also herzlichen Dank an alle Beteiligten!!!

    MfG Marcel

    Donnerstag, 19. Mai 2011 10:43
  • Das VB Script löscht nicht blindlinks alle vorhandene Backup Files weg, sondern nur solche die vom Dateidatum her min. 3 Tage alt sind; den Wert kann Du in folgender Zeile anpassen:

    'check if the database backups are older than 3 days 
    
    If DateDiff("d",itemFiles.DateCreated,Now()) >= 3 Then
    
    

    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Donnerstag, 19. Mai 2011 11:22
  • Super Olaf,

    das war der letzte fehlende Hinweis!

    Herzlichen Dank für die kompetente Hilfestellung an alle Beteilgten!!!

    MfG Marcel

    • Als Antwort markiert perfectsky Dienstag, 24. Mai 2011 13:00
    Dienstag, 24. Mai 2011 13:00