Záložní přístupová databáze denně / týdně

Máme databázi Microsoft Access rozdělenou na backend / frontend. To, co hledám, je možnost automatického zálohování těchto souborů na denní nebo týdenní bázi – jaký je nejlepší způsob, jak toho dosáhnout? Nechceme se starat o zálohy databáze, jen víme, že k ní dochází automaticky podle plánu.

Díky.

Odpovědět

(Výpůjčka z mé dřívější odpovědi zde …)

re: skutečné provedení zálohy

Zálohování nativní databáze Accessu je prostě otázkou kopírování celého databázového souboru ( .mdb pro Access_2003 a starší, .accdb pro Access_2007 a novější). Fungoval by jakýkoli skriptovací jazyk, dokonce i jednoduchý dávkový soubor Windows, který dělá něco jako

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

re: automatické plánování zálohování

Plánovač úloh ve Windows by se o to mohl postarat za vás Jakmile vytvoříte skript pro kopírování databázových souborů, můžete vytvořit naplánovanou úlohu a pravidelně ji spouštět. Další informace najdete v článku MSDN Používání plánovače úloh (Windows) .

Komentáře

  • že ' je v podstatě to, co jsem ' m poté. Existuje nějaký problém s rozdělením databáze na frontend / backend? Co když se ' používá v době zálohování? Díky.
  • [1] re: frontend / backend – soubor backend je ten, který se neustále mění, takže ' je ten, který potřebuje (více ) pravidelné zálohy. [2] re: file (may be) in use – There is no simple answer to that one. Databáze sdílených souborů nemají v tomto ohledu stejné výhody jako databáze klient-server.
  • Co to znamená? Je možné jej zkopírovat během používání?
  • @Parhs Ano, je možné zkopírovat databázový soubor Accessu, když se používá (pokud nebyl otevřen jako exkluzivní). Avšak kopírování libovolného souboru, když je aktivně používán, obvykle není dobrý nápad.
  • @Parhs I když je velmi nepravděpodobné, že by došlo k poškození zdrojového (původního) souboru, cílový soubor nemusí být spolehlivou zálohou, pokud se během kopírování děje na zdrojovém souboru.

Odpovědět

Můžete napsat sub pro zálohování databáze do zadané složky a spustit tento sub při spuštění databáze. Existuje mnoho způsobů, jak toho dosáhnout, ale osobně používám následující:

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 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *