web-dev-qa-db-ja.com

バックアップデータベースを毎日/毎週バックアップする

Microsoft Accessデータベースがバックエンド/フロントエンドに分割されています。私が探しているのは、これらのファイルを毎日または毎週自動的にバックアップできることです。これを行うための最良の方法は何ですか?データベースのバックアップについて心配する必要はありません。スケジュールに従って自動的に実行されることを知っているだけです。

ありがとう。

5
Sean Hawkins

(私の以前の答えから借りる ここ ...)

re:実際にバックアップを実行しています

ネイティブAccessデータベースのバックアップは、データベースファイル全体(Access_2003以前の場合は.mdb、Access_2007以降の場合は.accdb)をコピーするだけです。どのようなスクリプト言語でも機能します。たとえば、次のような単純なWindowsバッチファイルでも機能します。

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

re:バックアップの自動スケジュール

Windowsのタスクスケジューラがそれを処理します。データベースファイルをコピーするスクリプトを作成したら、定期的に実行するスケジュールタスクを作成できます。詳細については、MSDNの記事 タスクスケジューラの使用(Windows) を参照してください。

5
Gord Thompson

指定したフォルダーにデータベースをバックアップするサブを作成し、データベースの起動時にこのサブを実行できます。これを行う方法はたくさんありますが、私は個人的に以下を使用しています。

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
4
Tera