Van egy Microsoft Access adatbázisunk, amely háttér / frontendre van felosztva. Arra törekszem, hogy képes legyen napi vagy heti rendszerességgel biztonsági másolatot készíteni ezekről a fájlokról – mi a legjobb módszer erre? Nem akarunk aggódni az adatbázis biztonsági mentése miatt, csak tudjuk, hogy az ütemezés szerint automatikusan történik.
Köszönet.
Válasz
(Hitelfelvétel korábbi válaszomból itt …)
re: a biztonsági másolat tényleges végrehajtása
A natív Access adatbázis biztonsági mentése egyszerűen a teljes adatbázisfájl másolása ( .mdb az Access_2003 és korábbi verzióihoz, az .accdb az Access_2007 és újabb verzióihoz). Bármelyik szkriptnyelv működne, még egy egyszerű Windows kötegelt fájl is, amely ilyesmi
copy /Y d:\apps\databases\mydatabase.accdb z:\backups\databases\*.*
re: a biztonsági mentés automatikus ütemezése
A Windows Feladatütemezője gondoskodhat róla Miután létrehozta a szkriptet az adatbázis fájl (ok) másolásához, létrehozhat egy ütemezett feladatot az időszakos futtatáshoz. További információkért olvassa el az MSDN A feladatütemező használata (Windows) című cikkét.
Megjegyzések
- hogy ' alapvetően az, ami után ' m. Van valami probléma azzal, hogy az adatbázis frontendre / backendre oszlik? Mi van, ha a biztonsági mentés idején ' használatban vannak? Köszönet.
- [1] re: frontend / backend – A háttérfájl az, amely folyamatosan változik, így ' az, amelyre szüksége van (tovább ) rendszeres biztonsági mentések. [2] re: file (lehet) használatban – Erre nincs egyszerű válasz. A megosztott fájlú adatbázisok ebben a tekintetben nem rendelkeznek ugyanazokkal az előnyökkel, mint az ügyfél-szerver adatbázisok.
- Mit jelent ez? Lehetséges másolni használat közben?
- @Parhs Igen, lehet másolni egy Access adatbázisfájlt használat közben (kivéve, ha azt exkluzívként nyitották meg). Azonban bármely fájl másolása aktív használat közben általában nem jó ötlet.
- @Parhs Bár a legvalószínűbb, hogy a forrás (eredeti) fájl megsérül, Előfordulhat, hogy a célfájl nem megbízható biztonsági másolat, ha a másolás közben a forrásfájlon írások történtek.
Válasz
Írhat egy alállományt az adatbázis biztonsági mentéséhez egy megadott mappába, és futtathatja ezt az alrészt az adatbázis elindításakor. Ennek sokféle módja van, de én személy szerint a következőket használom:
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