http://www.perlmonks.org?node_id=1018332


in reply to Re^3: File::Copy - locked files
in thread File::Copy - locked files

Regarding your locked Access database: Shut down the service, then backup or make at least a copy of the database file, then restart the service and exclude the original, locked file.

Seems crude :) i'll bet there is a way without shutting down the service

Replies are listed 'Best First'.
Re^5: File::Copy - locked files
by afoken (Chancellor) on Feb 14, 2013 at 20:41 UTC
    i'll bet there is a way without shutting down the service

    Perhaps. I don't know. Read the Access documentation.

    You need to make sure that the database file is in a consistent state, and that this state does not change for the time the backup program processes the database file. If it is not consistent or changes while the backup program processes the file, the resulting file on the backup media is inconsistent in the best case, binary garbage in the worst case.

    A clean shutdown of the service makes sure that the database file is consistent and does not change while the backup program runs. The procedure shutdown - copy - restart - backup the copy reduces the downtime of the service to the time needed to create a consistent copy of the database file.

    "Real" database engines usually offer tools or hooks for backup purposes. Oracle has tools to create a file containing a consistent backup of a running database, MS SQL Server offers a plugin API for backup programs, as far as I remember.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)