Thema:
Wie erstellt man eine SQL Datensicherung als geplanten Task unter DOS ?




Ich habe auch länger danach gesucht bis ich es gefunden habe und will das ganze nun genauer Beschreiben.



Es geht darum ein SQL Table zu sichern, bei Vollversionen von SQL Servern kann man das im Management Studio einstellen, bei SQL Express Versionen jedoch nicht.


Daher hier die Lösung per BAT Datei, die man dann per geplante Tasks unter jedem Windows System starten kann. Im geplanten Task muss man ja einen Account angeben unter dem das laufen soll, natürlich muss man sicherstellen das der Account auch entsprechend auf die Datenbank zugreifen kann um das backup erstellen zu können.


Inhalt der DOS Datei (start_sicherung.bat):

set MM=%DATE:~3,2%
set DD=%DATE:~0,2%
set YYYY=%DATE:~6,4%

set HH=%TIME:~0,2%
set MinMin=%TIME:~3,2%

"C:\Programme\Microsoft SQL Server\90\Tools\binn\SQLCMD.EXE" -S "SERVERNAME" -i "D:\SQL\Backup\TABLE-backup-script.sql" >> "D:\SQL\Backup\TABLE\log\%YYYY%.%MM%.%DD%_%HH%%MinMin%_log.txt"

Rename "D:\SQL\Backup\TABLE\TABLE.bak" "%YYYY%.%MM%.%DD%_%HH%%MinMin%_TABLE.bak"




Erklärung:

Servername = Name vom SQL Server
Dann kommt eine sql Datei die gestartet wird (Erklärung kommt noch)
Und ein Logfile wird erstellt.
Der Pfad D:\SQL\Backup kann frei gewählt werden.
Der Ordner TABLE da drin kann man auch entsprechend anpassen, ich nenne einfach die Ordner wie das Table das ich sichern will.
Am Ende und das drum herum dient dazu das die Sicherungsdatei table.bak umbenannt wird entsprechend mit Datum und Stunden und Minuten Bezeichnung.


Die TABLE-backup-script.sql Datei, ist eine T-SQL Script Datei, also txt Datei mit folgendem Inhalt (für unser Beispiel):

BACKUP DATABASE [TABLE] TO DISK = N'D:\SQL\Backup\TABLE\TABLE.bak' WITH NOFORMAT, NOINIT, NAME = N'LoginLogs-Vollständig Datenbank Sichern', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO





Erklärung:

hier sieht man das Table das eingestellt werden muss in der eckigen Klammer [TABLE], dieses wird gesichert. Und man sieht den Pfad zur TABLE.bak Sicherungsdatei (muss zur BAT Datei oben passen wegen dem Rename).

So nun führt man die BAT Datei aus und los gehts, Backup erstellt mit LOG File :)

Das man dann bequem per Band sichern kann, wenn man will.