Microsoft Access 데이터베이스를 백엔드 / 프런트 엔드로 분할했습니다. 내가 찾고있는 것은 매일 또는 매주 이러한 파일을 자동으로 백업 할 수있는 것입니다.이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 데이터베이스 백업에 대해 걱정할 필요가 없습니다. 일정에 따라 자동으로 수행된다는 점만 알면됩니다.
감사합니다.
답변
(이전 답변 여기 …)
re : 실제로 백업을 수행합니다.
기본 Access 데이터베이스를 백업하는 것은 단순히 전체 데이터베이스 파일을 복사하는 문제입니다 ( Access_2003 및 이전 버전의 경우 .mdb, Access_2007 및 이후 버전의 경우 .accdb) 모든 스크립팅 언어가 작동합니다.
copy /Y d:\apps\databases\mydatabase.accdb z:\backups\databases\*.*
re : 백업 자동 예약
Windows의 작업 스케줄러가 자동으로 처리 할 수 있습니다. . 데이터베이스 파일을 복사하는 스크립트를 만든 후에는 정기적으로 실행할 예약 된 작업을 만들 수 있습니다. 자세한 내용은 MSDN 문서 작업 스케줄러 사용 (Windows) 을 참조하십시오.
댓글
- '는 기본적으로 제가 '을 추구합니다. 프런트 엔드 / 백엔드로 분할되는 데이터베이스에 문제가 있습니까? 백업시 ' 사용 중이면 어떻게됩니까? 감사합니다.
- [1] re : frontend / backend-백엔드 파일은 지속적으로 변경되는 파일이므로 '가 필요한 파일입니다. ) 정기 백업. [2] re : file (may be) in use-이에 대한 간단한 대답은 없습니다. 공유 파일 데이터베이스는 그 점에서 클라이언트-서버 데이터베이스와 동일한 장점이 없습니다.
- 이게 무슨 의미입니까? 사용 중에 복사 할 수 있습니까?
- @Parhs 예, 사용 중에 Access 데이터베이스 파일을 복사 할 수 있습니다 (독점으로 열지 않은 경우). 그러나 모든 파일을 활발하게 사용하는 동안 복사하는 것은 일반적으로 좋은 생각이 아닙니다.
- @Parhs 소스 (원본) 파일이 손상 될 가능성은 거의 없지만 복사하는 동안 소스 파일에 쓰기가 발생하면 대상 파일이 신뢰할 수있는 백업이 아닐 수 있습니다.
Answer
지정된 폴더에 데이터베이스를 백업하는 서브를 작성하고 데이터베이스가 시작될 때이 서브를 실행할 수 있습니다. 이를 수행하는 방법은 여러 가지가 있지만 개인적으로 다음을 사용합니다.
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