Speed4Trade GmbH Stand 28.02.2007 Sichern und Rücksichern der Speed4Trade-Datenbank auf Grundlage Microsoft SQL Server 2005 Express Inhaltsverzeichnis: 1 Vorwort........................................................................................................................................................... 1 2 Erstellen eines geplanten Task zum automatischen Sichern der Speed4Trade Datenbank .......................... 2 3 Erstellen eines Tasks zur Aufbewahrung unterschiedlicher Sicherungssätze................................................ 3 4 Sicherung der Datenbank über die grafische Benutzeroberfläche ................................................................. 4 5 Rücksichern der Datenbank über die Kommandozeile .................................................................................. 6 6 Rücksichern der Datenbank über das SSMSE .............................................................................................. 6 7 Updaten des DB-Benutzers über SQLCMD ................................................................................................... 7 1 Vorwort Das Speed4Trade Backuptool und die Backupfunktionalitäten des Updateservers sind auf eine Standardinstallation mit MSDE ausgelegt. Diese beiden Programme greifen auf das SQL-Client-Tool "OSQL" zurück. Sollten Sie Speed4Trade abweichend vom derzeitigen Standard auf eine SQL Server 2005 Express Edition upgegradet haben, oder eine Neuinstallation mit manueller Installation der SQL Server 2005 Express Edition vorgenommen haben ist das OSQL-Programm veraltet, bzw. nicht mehr vorhanden. Sie können in diesem Fall aber auf Ihre SQL-Server 2005 und Windows Bordmittel zurückgreifen um Ihre DB schnell, komfortabel und zeitgesteuert sichern zu können. Die Sicherungen können − regelmäßig über einen geplanten Task, oder − einzeln über die Kommandozeile oder das Managementstudio erfolgen. Um einzelne Sicherungen der Datenbank vorzunehmen kann man sicher den Weg über einen geplanten Task gehen, komfortabel und unkompliziert ist dieser Weg allerdings nicht. Microsoft hat im Gegensatz zur MSDE bei der SQL Server 2005 Express Edition ein Programm zum Download bereitgestellt, mit dem man einfache Verwaltungs- und Wartungsaufgaben über eine grafische Benutzeroberfläche durchführen kann. Das Microsoft SQL Server Management Studio Express, kurz SSMSE kann über einen Download bei Microsoft bezogen werden und ist kostenlos. Voraussetzung für die Installation des SSMSE sind das NET-Framework 2 und der XML-Parser MSXML 6. Das Framework kann man über das benutzerdifferenzierte Windowsupdate oder per Download, das MSXML 6 per Download kostenlos von Microsoft beziehen. Auf die Verlinkung zu den Downloads wird an dieser Stelle verzichtet, da sich Links schnell ändern können und ggf. nicht mehr erreichbar sein könnten. Hinweise zur Verwendung dieser Dokumentation: − Lokale Pfade zur Programmen und Dateien sind beispielhaft und können bei Ihnen abweichen − Rechner- und Dateinamen in Befehlen müssen an Ihre Umgebung angepasst sein − Die Menüs des SSMSE sind in Englisch verfasst © 2007 erstellt von Dirk Jungermann -1- Speed4Trade GmbH 2 Stand 28.02.2007 Erstellen eines geplanten Task zum automatischen Sichern der Speed4Trade Datenbank 1. Erstellen des SQL-Befehls in einer Textdatei Legen Sie an einem beliebigen Ort auf Ihrem Serverrechner ein neues Textdokument an und hinterlegen in diesem Textfile den folgenden Befehl: BACKUP DATABASE s4t TO DISK= '<Speicherort/Dateiname>' Setzen Sie statt <Speicherort/Dateiname> einen lokalen oder UNC Pfad ein, unter dem Sie die Sicherung ablegen möchten. Die Datei sollten Sie mit der Endung .bak angeben. Beispiel: Speichern Sie dieses Textdokument mit einem markanten Namen ab. Es wird empfohlen die Dateiendung auf .sql abzuändern. So können Sie später bereits an der Dateiendung erkennen, dass es sich um eine Datei mit SQL-Befehlen handelt, z.B. s4t_backup.sql. Tipp: Stellen Sie schon jetzt sicher, dass der Benutzer unter dem der Task später ausgeführt werden soll, auf dem angegebenen Verzeichnis über Schreibberechtigungen verfügt. Merken Sie sich die Stelle und den Dateinamen der Datei, da Sie diesen später noch einmal angeben müssen. 2. Anlegen eines geplanten Task Öffnen Sie die Systemsteuerung und rufen Sie das Menü "Geplante Tasks" auf. Klicken Sie hier auf das Symbol "Geplanten Task hinzufügen". Der Assistent für geplante Tasks wird geöffnet. Gehen Sie nun in folgenden Schritten vor: 1. Über die Schaltfläche "Durchsuchen" das Programm SQLCMD suchen und auswählen. Z.B. unter C:\Programme\Microsoft SQL Server\90\Tools\Binn\. Dies ist abhängig vom Ort an dem Sie die Express Edition installiert haben. 2. Name des Tasks und Häufigkeit angeben. 3. Die Uhrzeit und den Tag der ersten Ausführung festlegen. 4. Windowsauthentifizierung angeben unter der der geplante Task ausgeführt werden soll. 5. Häkchen bei "Erweiterte Eigenschaften für diesen Task….." setzen und Task "Fertigstellen" 3. Parametereinstellungen für SQLCMD in geplanten Task editieren In dem sich öffnenden Fenster finden Sie im oberen Eingabefeld den Pfad der ausführenden Datei (hier: ".. \Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE"). In diesem Feld müssen am Ende noch Parameter hinzugefügt werden: - vertrauenswürdige Verbindung mit dem Server "-E" - Auswahl der richtigen Datenbank "-S<RECHNERNAME>\SPEED4TRADE_DB" - Auswahl der Eingabedatei "-is4t_backup.sql" die den SQL-Befehl enthält Der geänderte Pfad "Ausführen" stellt sich dann z.B. so dar: …\Binn\SQLCMD.EXE" -E -SRECHNER115\SPEED4TRADE_DB -is4t_backup.sql Wichtig: Diese Parameter sind Case-Sensitiv, d.h. Sie müssen unbedingt auf Groß- und Kleinschreibung achten. Das Fehlen von Leerzeichen zwischen Parameter und Text ist Absicht, die Zeichenfolgen schließen direkt an die Parameter an. © 2007 erstellt von Dirk Jungermann -2- Speed4Trade GmbH Stand 28.02.2007 Unter "Ausführen in" müssen Sie den Pfad angeben unter dem das Programm SQLCMD die Datei mit dem Backupbefehl findet und letztendlich das Programm ausgeführt wird: Zum Ändern dieser Parameter und Optionen müssen Sie sich ggf. mit dem ausführenden Benutzer neu Authentifizieren. 4. Überprüfung Zur Überprüfung klicken Sie mit der rechten Maus-Taste auf den Task -> "Ausführen". Kontrollieren Sie nun in Ihrem Backup-Verzeichnis, ob die gewünschte Datenbanksicherung erstellt wurde. Wichtige Hinweise: Diese Form der Sicherung überschreibt immer die letzte Sicherungsdatei! Eine Sicherung der DB ist nur dann vollständig, wenn Sie das gesicherte File danach auch vom Rechner wegsichern. Es wird dringend empfohlen die gesicherte Datenbank entweder über Programme zur automatischen Datensicherung, oder von Hand auf andere Rechner, Wechsel- oder spezielle Sicherungsmedien zu übertragen. 3 Erstellen eines Tasks zur Aufbewahrung unterschiedlicher Sicherungssätze In den Hinweisen am Ende des ersten Kapitels wurde darauf hingewiesen, dass die letzte Sicherungsdatei immer überschrieben wird. Es kann sinnvoll sein den Stand einer Sicherung über mehrere Tage auf Vorrat zu halten und Sie nach einem "Verfallsdatum" automatisch zu löschen. Die Sicherung über das SQLCMD Tool ermöglicht es in einer Sicherungsdatei mehrere Stände aufzubewahren und auch das Ablaufdatum der Sicherung festzulegen. Die Vorgehensweise ist analog zu 1. Der Unterschied beim Erstellen eines Tasks zur Aufbewahrung unterschiedlicher Sicherungssätze besteht im SQL-Befehl. Erweitern Sie den SQL-Befehl um die Parameter "WITH RETAINDAYS = X" X steht für die Anzahl der Tage. Nach X Tagen wird dann der Sicherungsstand bei der nächsten Ausführung aus dem Backupfile entfernt. Hinweis: Da die Sicherung immer in eine Datei erfolgt wird diese bei Aufbewahrung mehrerer Stände selbstverständlich immer größer, solange bis alte Stände entfernt werden. © 2007 erstellt von Dirk Jungermann -3- Speed4Trade GmbH 4 Stand 28.02.2007 Sicherung der Datenbank über die grafische Benutzeroberfläche Starten Sie das Microsoft SQL Server Management Studio Express (im Weiteren nur kurz SSMSE) über das Startmenü und loggen Sie sich mit Windowsauthentifizierung ein. Achten Sie darauf, dass Sie mit dem Login über lokale Administratorrechte verfügen. Nachdem Sie die Verbindung mit der Datenbank hergestellt haben, müssen Sie über den Object Explorer, den Bereich "Databases" anklicken. Hier finden Sie die Datenbank s4t. Klicken Sie die Datenbank s4t mit rechts an, wechseln Sie im Kontextmenü auf "Tasks" und dort auf den Menüpunkt "Back up". Im Dialogfenster werden Ihnen die meisten Einstellungen schon standardmäßig hinterlegt. Als Datenbank ist die s4t-DB bereits gewählt. Als Backuptyp ist die Vollsicherung ausgewählt. Unten finden Sie die Möglichkeit ein Ziel (Destination) festzulegen. Klicken Sie dafür auf "Add…" © 2007 erstellt von Dirk Jungermann -4- Speed4Trade GmbH Stand 28.02.2007 Als Standardziel wird ein Pfad im SQL-Server Installationspfad angegeben. Durch klicken auf "…" öffnet sich ein Dateiexplorer. Blättern Sie durch den Explorer in den Zielordner und geben Sie dort den Dateinamen der Sicherungsdatei mit der Endung .bak an, in unserem Beispiel s4t_sicherung.bak und bestätigen Sie mit "OK". Bestätigen Sie dieses Ziel im folgenden Dialog noch einmal, damit es in die Liste der Sicherungsmedien aufgenommen wird: Die Einstellungen auf der Seite "General" reichen nun aus um ein Backup auszuführen. Auf der zweiten Seite "Options" können Sie noch weitere Einstellungen treffen: − Überschreiboptionen und − Prüfoptionen Auf speziellere Einstellungen wird in dieser Anleitung nicht eingegangen. Bestätigen Sie den Dialog mit "OK" und die Sicherung wird am gewünschten Ort durchgeführt. © 2007 erstellt von Dirk Jungermann -5- Speed4Trade GmbH 5 Stand 28.02.2007 Rücksichern der Datenbank über die Kommandozeile Wenn Sie eine Speed4Trade-Datenbank über die Kommandozeile zurückspielen möchten gehen Sie wie folgt vor: 1. Starten der Kommandozeile Start -> Ausführen, "cmd" eingeben und mit der Eingabetaste bestätigen. 2. Eingabe des Restorebefehls mit SQLCMD Bei der Installation der Express Edition wurde der Pfad zum Programm SQLCMD.exe im System hinterlegt. Sie können das Programm also von jedem Ort ausführen in dem Sie beim Öffnen der Kommandozeile herauskommen, in unserem folgenden Beispiel "Z:\". Rufen Sie das Programm nun wie folgt auf: Z:\>sqlcmd -E –S<Rechnername>\Speed4Trade_DB -q"restore database s4t from disk = '<Dateipfad\Name>'" Die Parameter –E und –S sind aus dem ersten Kapitel bereits bekannt. Mit dem Parameter –q können Sie nun den RESTORE-Befehl anhängen. Achten Sie hier unbedingt auf die einfachen und doppelten Hochkommata. Im Standard ist der DB-Name s4t, den Pfad zu Ihrer Datei müssen Sie anpassen. Diese Art der Rücksicherung ist nur eingeschränkt zur Verwendung mit bak-Dateien brauchbar, in der mehrere Sicherungssätze enthalten sind, da eine gezielte Auswahl des Sicherungssatzes nicht ohne weiteres möglich ist. Der Aufwand ist hierbei höher und es wird empfohlen das SSMSE zur Wiederherstellung zu nutzen. Wichtiger Hinweis: Sollten Sie die Datenbank auf eine anderes System übertragen, müssen Sie danach über einen SQL-Befehl die Security-ID des Standard-Datanbankbenutzers updaten, da sonst durch die Speed4Trade-Software kein Zugriff auf die Datenbank mehr erfolgen kann. Hier können Sie nachlesen wie sie denn Benutzer updaten können. 6 Rücksichern der Datenbank über das SSMSE Wichtig: Beenden Sie vor der Rücksicherung alle verbundenen Speed4Trade-Serverprogramme. Loggen Sie sich wie in Kapitel 3 beschrieben über das SSMSE ein. Wie beim Sichern, gehen Sie über den "Object Explorer" vor, statt "Back up" wählen Sie jetzt "Restore" -> "Database". © 2007 erstellt von Dirk Jungermann -6- Speed4Trade GmbH Stand 28.02.2007 Im Restore-Dialog ist die DB s4t nun schon ausgewählt. Als Quelle für die Wiederherstellung wählen Sie "From device" aus. Über "…" suchen Sie nun Ihre Sicherungsdatei und fügen diese hinzu. Nun werden unterschiedlichen sätze angezeigt. Ihnen die Sicherungs- Wählen Sie den Satz aus, den Sie wiederherstellen möchten. Auf der Seite "Options" müssen Sie "Overwrite the existing…" auswählen. Insofern Sie die DB nicht von einem anderen System, der einer vorherigen Installation können Sie die Pfade der Datanbankdateien so belassen. Durch klicken auf "OK" wird das zurückspielen angestoßen. Wichtiger Hinweis: Sollten Sie die Datenbank auf eine anderes System übertragen, müssen Sie danach über einen SQL-Befehl die Security-ID des Standard-Datanbankbenutzers updaten, da sonst durch die Speed4Trade-Software kein Zugriff auf die Datenbank mehr erfolgen kann. 7 Updaten des DB-Benutzers über SQLCMD Öffnen Sie die Kommandozeile und geben Sie (an Ihren Rechner angepasst) ein Z:\>sqlcmd –E –S<Rechnername>\Speed4Trade_DB –q"use s4t" In der Konsole wird Ihnen nun: Der Datenbankkontext wurde auf 's4t' geändert. 1> ausgegeben. Geben Sie nun 1> sp_change_users_login 'update_one', 's4t_user', 's4t_user' 2> go ein. Sie können das Programm nun über den "exit" Befehl verlassen. © 2007 erstellt von Dirk Jungermann -7- Speed4Trade GmbH Stand 28.02.2007 Haben Sie Fragen? Wir stehen Ihnen gerne über unsere eMail-Adresse: [email protected] zur Verfügung. Ihr Speed4Trade Support-Team Programmentwicklung Speed4Trade GmbH Beim Flugplatz 8 92655 Grafenwöhr www.speed4trade.com [email protected] Tel. +49 (0) 96 41 / 45 49 - 0 Fax. +49 (0) 96 41/ 45 49 – 10 Copyright Dieses Produkt darf nur entsprechend den Bestimmungen der Lizenzvereinbarungen eingesetzt und kopiert werden. Jede andere Nutzung ist untersagt. Kein Teil dieser Publikation darf in irgendeiner Form ohne vorherige schriftliche Genehmigung der Speed4Trade GmbH reproduziert, übertragen oder in eine andere Sprache übersetzt werden. Änderungen dieses Handbuches bleiben vorbehalten. Der Inhalt dieses Handbuches begründet keinerlei Ansprüche seitens des Käufers. Laut Gesetz ist es Ihnen gestattet, eine Sicherungskopie des Programms nur zum Zwecke der Archivierung anzulegen. Jedes weitere Kopieren dieser Software – gleich zu welchem Zweck – ist gesetzwidrig und wird strafrechtlich und zivilrechtlich verfolgt. © Speed4Trade GmbH – 2007 Alle Rechte vorbehalten © 2007 erstellt von Dirk Jungermann -8-