
11193
24.03.2005, aktualisiert um 12:36:12 Uhr
Batchdatei zur Sicherung einer Access Db
Hallo,
ich habe folgendes Problem. Ich möchte eine Access DB die auf einem Server Laufwerk
liegt regelmäßig sichern. Mit der Datenbank arbeiten mehrere Arbeitsplätze. Nun soll
immer wenn ein Computer startet (einmal morgens) die Access Datenbank von dem
Serverlaufwerk als Kopie gezogen werden und dann lokal auf der Festplatte des
Arbeitsplatzes gespeichert werden. Die Sicherung sollte nur einmal am Tag gemacht
werden.
Wie geht das???
ich habe folgendes Problem. Ich möchte eine Access DB die auf einem Server Laufwerk
liegt regelmäßig sichern. Mit der Datenbank arbeiten mehrere Arbeitsplätze. Nun soll
immer wenn ein Computer startet (einmal morgens) die Access Datenbank von dem
Serverlaufwerk als Kopie gezogen werden und dann lokal auf der Festplatte des
Arbeitsplatzes gespeichert werden. Die Sicherung sollte nur einmal am Tag gemacht
werden.
Wie geht das???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8526
Url: https://administrator.de/forum/batchdatei-zur-sicherung-einer-access-db-8526.html
Ausgedruckt am: 21.04.2025 um 16:04 Uhr
8 Kommentare
Neuester Kommentar
Hi,
Du könntest z.B. XCopy einsetzen.
Das Laufwerk sollte dabei eine normale und nicht administrative Freigabe sein.
Wenn Du XCopy aufrufst, dann siehst Du schon, was Du eintragen musst. Das ist easy.
Das schreibst Du nun in eine Batchdatei und lässt diese mit dem Taskplaner täglich ausführen.
So sollte es gehen!
Lars
Du könntest z.B. XCopy einsetzen.
Das Laufwerk sollte dabei eine normale und nicht administrative Freigabe sein.
Wenn Du XCopy aufrufst, dann siehst Du schon, was Du eintragen musst. Das ist easy.
Das schreibst Du nun in eine Batchdatei und lässt diese mit dem Taskplaner täglich ausführen.
So sollte es gehen!
Lars
Hi,
hierzu eine Batch zu stricken, sollte kein großes Problem sein. Aber:
soll es immer der gleiche PC sein, der den Job auslöst (vermutlich),
soll es passieren, wenn der Rechner startet oder erst beim Anmelden,
arbeitet dann schon jemand mit der DB (offene Files zu sichern, dürfte schwierig werden, bei Access weiß ich nicht, ob das möglich ist, keine Ahnung).
Beim Anmelden ist es einfach: einfach den copy- Befehl ins Login Script einbauen
Gruß - Toni
hierzu eine Batch zu stricken, sollte kein großes Problem sein. Aber:
soll es immer der gleiche PC sein, der den Job auslöst (vermutlich),
soll es passieren, wenn der Rechner startet oder erst beim Anmelden,
arbeitet dann schon jemand mit der DB (offene Files zu sichern, dürfte schwierig werden, bei Access weiß ich nicht, ob das möglich ist, keine Ahnung).
Beim Anmelden ist es einfach: einfach den copy- Befehl ins Login Script einbauen
Gruß - Toni
Mit administrative Freigaben sind z.B. c$ d$ etc. gemeint.
Normale Freigaben haben einen richtigen Laufwerksbuchstaben im Explorer.
Bei Access ist das alles ein wenig schwierig:
Wird der Kopiervorgang unterbrochen, kannst Du dir die DB locker schießen. Genauso wie bei Zugriffe durch User.
Wird die DB genutzt und soll währenddessen kopiert werden, kommt es zu Zugrifffsverletzungen innerhalb der DB.
Im schlimmsten Fall hast Du doppelte oder verlorene Einträge oder eine einfach kaputte Datenbank.
Es ist wichtig, das niemand auf die Datenbak zugreift, während sie kopiert wird!
Sonst, siehe oben!
Sinnvoll wäre eine richtige Datensicherung über Nacht, wo die datenbank auf ein externes Medium geschrieben wird.
Da die Datenbank noch recht klein ist mit 140 MB (Access kann 999MB verwalten), empfiehlt sich diese Lösung eher nicht!!
Lars
Normale Freigaben haben einen richtigen Laufwerksbuchstaben im Explorer.
Bei Access ist das alles ein wenig schwierig:
Wird der Kopiervorgang unterbrochen, kannst Du dir die DB locker schießen. Genauso wie bei Zugriffe durch User.
Wird die DB genutzt und soll währenddessen kopiert werden, kommt es zu Zugrifffsverletzungen innerhalb der DB.
Im schlimmsten Fall hast Du doppelte oder verlorene Einträge oder eine einfach kaputte Datenbank.
Es ist wichtig, das niemand auf die Datenbak zugreift, während sie kopiert wird!
Sonst, siehe oben!
Sinnvoll wäre eine richtige Datensicherung über Nacht, wo die datenbank auf ein externes Medium geschrieben wird.
Da die Datenbank noch recht klein ist mit 140 MB (Access kann 999MB verwalten), empfiehlt sich diese Lösung eher nicht!!
Lars
dann ist es als task- Job auf dem Server am einfachsten.
Du läßt an einem bestimmten Zeitpunkt den Task starten, der führt eine batch aus. In dieser ist ein Ping auf den Rechner, ist der Ping erfolgreich, dann starte Xcopy, falls DB offen ist, geht der sowieso schief, xcopy bricht ab. Falls der Ping nicht erfolgreich, dann eine Warteschleife und das ganze von vorne. Ping Abfrage mit "if not errorlevel 1" startet den copy Job ---- oder so ähnlich müßts tun.
Gruß - Toni
Du läßt an einem bestimmten Zeitpunkt den Task starten, der führt eine batch aus. In dieser ist ein Ping auf den Rechner, ist der Ping erfolgreich, dann starte Xcopy, falls DB offen ist, geht der sowieso schief, xcopy bricht ab. Falls der Ping nicht erfolgreich, dann eine Warteschleife und das ganze von vorne. Ping Abfrage mit "if not errorlevel 1" startet den copy Job ---- oder so ähnlich müßts tun.
Gruß - Toni
Beispiel:
@echo off
:start
ping 127.0.0.1
if not errorlevel 1 goto go
if errorlevel 1 goto nogo
:go
echo starte copy
xcopy ...........
exit
:nogo
echo rechner ist noch nicht online, warte
wait 10 key
goto start
exit
end
Die nötige Datei "wait.exe" bekommst Du hier:
http://www.bjoernhenke.de/frame.htm?/wait/index.de.htm
@echo off
:start
ping 127.0.0.1
if not errorlevel 1 goto go
if errorlevel 1 goto nogo
:go
echo starte copy
xcopy ...........
exit
:nogo
echo rechner ist noch nicht online, warte
wait 10 key
goto start
exit
end
Die nötige Datei "wait.exe" bekommst Du hier:
http://www.bjoernhenke.de/frame.htm?/wait/index.de.htm