Mandanten autom. tgl. sichern

bella

Aktives Mitglied
7. August 2007
118
0
Essen
Hallo Zusammen,
ich möchte nun endlich meine DB tgl. autom. sichern und habe eine .bat Datei entsprechend dem Workaround erstellt.
So sieht das aus:
@echo off
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_3 TO DISK = 'H:\backup\mandant_3\%date%.bak'"

Der Task scheint zu funktionieren. Ich habe ihn auf Start 15:00h gesetzt und es ging pünktlich ein DOS-Fenster auf - und ganz schnell wieder zu :?
Ich hab dann mal eben auf H geschaut und nix war drin - keine .bak :(

H ist ein externes Laufwerk.

Was mach ich'n falsch???
Besten Dank vorab und Gruß
 

Dealux-GmbH

Sehr aktives Mitglied
5. März 2007
8.676
7
Düsseldorf
Versuch die Datei mal auf C: zu sichern, kann sein, dass er deswegen Probleme macht.

Nur so als Idee: Nimm doch ne andere Uhrzeit, wenn während eines Backups jemand was in der WaWi macht, dann tut der DB das bestimmt nicht sonderlich gut. Mach das doch so, dass es kurz nach Feierabend passiert. Nur nen Vorschlag.
 

jkatzorke

Aktives Mitglied
2. Juni 2008
27
0
in solchen fällen auch mal ein "pause" ans ende stellen.

um das fenster zu schließen ist dann erst eine bestätigung nötig.

dann erhält man rückschluß auf etwaige fehlermeldungen:

Code:
@echo off
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_3 TO DISK = 'H:\backup\mandant_3\%date%.bak'"

pause
 

bella

Aktives Mitglied
7. August 2007
118
0
Essen
Hallo Jörg,
danke erst mal.

wie Feierabend? - gibbet dat ? :)
Ne, die Uhrzeit habe ich nur so genommen, damit ich gleich gucken kann was passiert - sonst schieb ich's wieder auf die lange Bank. Immerhin wollte ich das schon gleich am Anfang so eingestielt haben.
Hat aber wie eben nie geklappt-

Hab jetzt mal einen Speicherort auf C usw. genommen. Mal schaun ob das dann funktioniert. Wenn nicht komm ich noch mal. Das mit der "pause" kommt dann als nächstes dran..
grüße
 

bella

Aktives Mitglied
7. August 2007
118
0
Essen
... hab's wieder etwas schleifen lassen -

bei mir klappt das net.
so sieht das aus:

Meldung 3201, Ebene 16, Status 1, Server SERVER\JTLWAWI, Zeile
Das Sicherungsmedium 'c:\Progr1amme\backup\mandant_3\14.10.2008.bak' kann nicht geöffnet werden. Betriebssystemfehler 3(Das System kann den angegebenen Pfad
nicht finden.).
Meldung 3013, Ebene 16, Status 1, Server SERVER\JTLWAWI, Zeile 1
BACKUP DATABASE wird fehlerbedingt beendet.
Drücken Sie eine beliebige Taste . . .
Batchvorgang abbrechen (J/N)?
 

thomkeil

Aktives Mitglied
24. Oktober 2006
328
1
du scheinst ein problem mit deinen anführungszeichen am ende des befehls zu haben. denn er nimmt ja auch deine anweisung bzg. laufwerk und verzeichnis nicht an. du scheinst am ende 3 einzelne hochkommas zu haben und nicht ein einzelnes und dann ei doppeltes.
prüf das bitte noch mal nach.

Zitat von bella:
... hab's wieder etwas schleifen lassen -

bei mir klappt das net.
so sieht das aus:

Meldung 3201, Ebene 16, Status 1, Server SERVER\JTLWAWI, Zeile
Das Sicherungsmedium 'c:\Progr1amme\backup\mandant_3\14.10.2008.bak' kann nicht geöffnet werden. Betriebssystemfehler 3(Das System kann den angegebenen Pfad
nicht finden.).
Meldung 3013, Ebene 16, Status 1, Server SERVER\JTLWAWI, Zeile 1
BACKUP DATABASE wird fehlerbedingt beendet.
Drücken Sie eine beliebige Taste . . .
Batchvorgang abbrechen (J/N)?
 

bella

Aktives Mitglied
7. August 2007
118
0
Essen
Hallo Jörg,

hab da eben mit paste und copy hin und her und zack war ich auf absenden gekommen. Noch mal von vorne:

ich speichere diesen Code
@echo off
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_2 TO DISK = 'c:\backup\mandant_2\%date%.bak'"
pause

mit einem editor und mit der Endung .bat

Die bat Datei heißt: mandant_2_backup.bat und liegt unter:
C:\ backup.
Die .bak Datei soll dann unter C:\backup\ mandant_2

soweit so gut oder?

Als Ergebnis erwarte ich eigentlich eine .bak Datei in der Größe von einer man. bak, abgelegt in dem Ordner C->backup -> mandant_2

Mal eine Frage:
geht denn eigentlich aus dem code oben hervor wo die Database liegt?
Also unter C:programme\ MicrosoftSQLServer\MSSQL1\ usw.usw.

sorry, bin halt kein spezi möchte aber trotzdem diese autom. Sicherung endlich mal am fliegen haben.

Grüße Christiane :roll:
 

thomkeil

Aktives Mitglied
24. Oktober 2006
328
1
das weiß er automatisch da du mit "osql" die datenbank ansprichst.
das unterverzeichnis mandant_2 mußt du unbedingt vorher von hand anlegen. sonst geht die sicherung nicht. dieser befehl ist nicht in der lage ein entsprechendes unterverzeichis anzulegen.

Zitat von bella:
Hallo Jörg,

hab da eben mit paste und copy hin und her und zack war ich auf absenden gekommen. Noch mal von vorne:

ich speichere diesen Code
@echo off
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE mandant_2 TO DISK = 'c:\backup\mandant_2\%date%.bak'"
pause

mit einem editor und mit der Endung .bat

Die bat Datei heißt: mandant_2_backup.bat und liegt unter:
C:\ backup.
Die .bak Datei soll dann unter C:\backup\ mandant_2

soweit so gut oder?

Als Ergebnis erwarte ich eigentlich eine .bak Datei in der Größe von einer man. bak, abgelegt in dem Ordner C->backup -> mandant_2

Mal eine Frage:
geht denn eigentlich aus dem code oben hervor wo die Database liegt?
Also unter C:programme\ MicrosoftSQLServer\MSSQL1\ usw.usw.

sorry, bin halt kein spezi möchte aber trotzdem diese autom. Sicherung endlich mal am fliegen haben.

Grüße Christiane :roll: