Backup Access-Datenbank Täglich / Wöchentlich

Wir haben eine Microsoft Access-Datenbank, die in Backend / Frontend unterteilt ist. Was ich suche, ist die Möglichkeit, diese Dateien täglich oder wöchentlich automatisch zu sichern – wie gehe ich am besten vor? Wir möchten uns nicht um Backups für die Datenbank kümmern müssen, sondern müssen nur wissen, dass diese automatisch nach einem Zeitplan ausgeführt werden.

Danke.

Antwort

(Aus meiner früheren Antwort hier …)

re: Die Sicherung tatsächlich durchführen

Das Sichern einer nativen Access-Datenbank ist lediglich eine Frage des Kopierens der gesamten Datenbankdatei ( .mdb für Access_2003 und früher, .accdb für Access_2007 und höher). Jede Skriptsprache würde funktionieren, sogar eine einfache Windows-Batchdatei, die so etwas wie

copy /Y d:\apps\databases\mydatabase.accdb z:\backups\databases\*.* 

ausführt re: Automatische Planung der Sicherung

Der Taskplaner in Windows könnte dies für Sie erledigen Nachdem Sie Ihr Skript zum Kopieren der Datenbankdatei (en) erstellt haben, können Sie eine geplante Aufgabe erstellen, um sie regelmäßig auszuführen. Weitere Informationen finden Sie im MSDN-Artikel Verwenden des Taskplaners (Windows) .

Kommentare

  • dass ' im Grunde das ist, wonach ich ' bin. Gibt es ein Problem mit der Aufteilung der Datenbank in Frontend / Backend? Was ist, wenn ' zum Zeitpunkt der Sicherung verwendet wird? Danke.
  • [1] re: Frontend / Backend – Die Backend-Datei ändert sich ständig, sodass ' diejenige ist, die benötigt wird (mehr ) regelmäßige Backups. [2] re: file (möglicherweise) in Verwendung – Es gibt keine einfache Antwort auf diese Frage. Shared-File-Datenbanken bieten in dieser Hinsicht nicht die gleichen Vorteile wie Client-Server-Datenbanken.
  • Was bedeutet das? Ist es möglich, es während der Verwendung zu kopieren?
  • @Parhs Ja, es ist möglich, eine Access-Datenbankdatei während der Verwendung zu kopieren (es sei denn, sie wurde als exklusiv geöffnet). Das Kopieren von beliebigen Dateien während der aktiven Verwendung ist jedoch normalerweise keine gute Idee.
  • @Parhs Obwohl es höchst unwahrscheinlich ist, dass die Quelldatei (Originaldatei) beschädigt wird, Die Zieldatei ist möglicherweise keine zuverlässige Sicherung, wenn während des Kopierens Schreibvorgänge in der Quelldatei ausgeführt wurden.

Antwort

Sie können ein Sub schreiben, um die Datenbank in einem angegebenen Ordner zu sichern, und dieses Sub ausführen, wenn die Datenbank gestartet wird. Es gibt viele Möglichkeiten, dies zu tun, aber ich persönlich verwende Folgendes:

Function fMakeBackup() As Boolean Dim Source As String Dim Target As String Dim retval As Integer Source = CurrentDb.Name Target = "Z:\My Apps\Backups\YourFielName" Target = Target & Format(Date, "mm-dd") & " " Target = Target & Format(Time, "hh-mm") & ".accdb" " create the backup retval = 0 Dim objFSO As Object Set objFSO = CreateObject("Scripting.FileSystemObject") retval = objFSO.CopyFile(Source, Target, True) Set objFSO = Nothing End Function 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.