SQL Hands-On Workshop 2010 EB Zürich Datenbank

Werbung
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
1. Das Problem
In der Express Edition von MS SQL Server 2008 gibt es keine Möglichkeit, gewisse Aufgaben regelmässig
und ohne Benutezerinteraktion 'nach Fahrplan' ausführen zu lassen.
In der Vollversion von MS SQL Server 2008 würde es dafür den SQL Server Agent geben. Aber die
Vollversion kostet...
2. Der Plan
Wir können das gleich erreichen, indem wir zwei Dinge miteinander kombinieren:
1. Die Möglichkeit, den SQL Server von der Kommandozeile aus anzusprechen (sqlcmd.exe, in früheren
Versionen von MS SQL Server: osql.exe)
2. Den Windows Task Scheduler, der mit jedem Windows mit dabei ist (Start -> Zubehör ->
Systemprogramme -> Geplante Tasks)
3. Backup von einer Datenbank mit einem SQL Skript
Am billigsten erhalten wir ein SQL Skript, das ein Datenbankbackup erstellt, mit der Scripting
Funktionalität innerhalb vom SQL Server Management Studio. Geht so:
3.1. Das Backup so zusammenstellen wie wir es brauchen im Management Studio:
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 1 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 2 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
3.2. Dann anstatt mit 'OK' zu starten, oben links auf 'Skript' klicken und 'Skript für Aktion in Fenster
'Neue Abfrage' schreiben' wählen:
Ergebnis:
Als Text:
BACKUP DATABASE [KutAdmin] TO DISK = N'C:\Programme\Microsoft SQL
Server\MSSQL10.WERNERSSQLEXP\MSSQL\Backup\killme.BAK' WITH NOFORMAT, INIT,
NAME = N'KutAdmin-Vollständig Datenbank Sichern', SKIP, NOREWIND, NOUNLOAD,
STATS = 10
GO
Dieses SQL in die Zwischenablage kopieren und als Textdatei speichern, zum Beispiel direkt auf c:\:
Der Inhalt von der Datei kutadaminbackup.txt (nächste Seite):
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 3 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
4. Das SQL Skript von der Kommandozeile aus starten:
Start -> Ausführen -> cmd:
Eingeben:
sqlcmd -S INFNBK02\WERNERSSQLEXP -E -i c:\kutadaminbackup.txt
A)
B)
C) D)
A)
Der Kommandoname für den Kommandozeilenzugang zum SQL Server; Hinweis: Vor SQL Server 2008
war das Kommando osql anstatt sqlcmd
B)
Mit "–S" (Achtung auf Gross/Kleinschrift!) wird der Name vom SQL Server eingeleitet. In diesem Beispiel:
-S INFNBK02\WERNERSSQLEXP
Dabei ist INFNBK02 der Name vom Computer und WERNERSSQLEXP der Name von der MS SQL Server
Instanz
C)
Mit –E (wieder Achtung auf GRoss-/Kleinschrift!) wird angegeben, dass die Anmeldung am SQL Server
mit Windows Authentifizierung erfolgt
D)
Mit -i (Kleinschrift!) wird eingeleitet, dass nach der Anmeldung am SQL Server ein Skript ausgeführt
werden soll, dass sich in der Datei c:\kutadaminbackup.txt befindet
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 4 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
Live:
Nach Eingabe von Enter wird die Aneldung am SQL Server gestartet und das Skript wird ausgeführt. Mit
Erfolg:
5. Das Skript mit dem Windows Task Scheduler starten
5.1. Die Kommandozeile als .cmd Skript abspeichern, z.B. auf C:\
Der Inhalt von der Datei taeglichbackup.cmd:
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 5 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
5.2. Einen neuen Task erstellen, der das .cmd Skript ausführt täglich um 23:00:
'Geplanten Task hinzufügen' doppelklicken:
Weiter:
Durchsuchen:
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 6 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
'taeglichbackup.cmd' auswählen:
'Täglich' auswählen: (Auf einem Notebook macht vielleicht 'Beim Anmelden' mehr Sinn weil der
Notebook ja nicht immer läuft):
Startzeit eingeben (z.B. 23:00):
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 7 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
Passwort eingeben:
Fertig stellen:
Anstatt bis 23:00 zu warten, kann der Task mit der rechten Maustaste und 'Ausführen' direkt gestartet
werden:
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 8 / 9
Inforis AG
Beckenhofstrasse 16
8006 Zürich
www.inforis.ch
SQL Hands-On Workshop 2010
EB Zürich
Datenbank Backup automatisieren mit SQL Server 2008 Express
Ob es funktioniert hat, kann am Dateidatum abgelesen werden:
23:06 – Das stimmt in meinem Fall – gähhhn… ;-)
M:\11_Schul\EB_Zuerich\2010_Q3_SQL_HandsOnWorkshop\20100810_SQLServer2008Express_BackupAutomatisieren.doc
Werner Müntener, Inforis AG
Seite 9 / 9
Herunterladen