i:
cd \sql-backup\DBNAME\
if not exist DBNAME.mdf.9 goto Step8
del DBNAME.mdf.9
:step8
if not exist DBNAME.mdf.8 goto Step7
move DBNAME.mdf.8 DBNAME.mdf.9
:step7
if not exist DBNAME.mdf.7 goto Step6
move DBNAME.mdf.7 DBNAME.mdf.8
:step6
if not exist DBNAME.mdf.6 goto Step5
move DBNAME.mdf.6 DBNAME.mdf.7
:step5
if not exist DBNAME.mdf.5 goto Step4
move DBNAME.mdf.5 DBNAME.mdf.6
:step4
if not exist DBNAME.mdf.4 goto Step3
move DBNAME.mdf.4 DBNAME.mdf.5
:step3
if not exist DBNAME.mdf.3 goto Step2
move DBNAME.mdf.3 DBNAME.mdf.4
:step2
if not exist DBNAME.mdf.2 goto Step1
move DBNAME.mdf.2 DBNAME.mdf.3
:step1
if not exist DBNAME.mdf.1 goto Step0
move DBNAME.mdf.1 DBNAME.mdf.2
:step0
if not exist DBNAME.mdf_bak goto backup
move DBNAME.mdf_bak DBNAME.mdf.1
:backup
osql -S Server\SQLEXPRESS -E -n -Q "BACKUP DATABASE DBNAME TO DISK = 'i:\sql-backup\DBNAME\DBNAME.mdf_bak'"
I: ist der Laufwerkspfad wo die Datenbank liegt
DBNAME der name der DB
Der Rest erstellt mehrere Backups, damit das aktuelle nicht durch ein noch aktuelleres ersetzt wird nur um dann festzustellen, das das neue Backup defekt ist..
Server = Servername
SQLEXPRESS = Instanzname
Funktioniert im vollen Betrieb und lässt sich leicht per Taskplaner managen
Text natuerlich in eine *.bat einfügen und anpassen
P.S. nicht vergessen den Ordnern "SQL-Backup" zu erstellen, kann auch anders heißen, muss in der *.bat dann nur angepasst werden..