他のユーザーがアクセスしているときに、ファイルベースのマルチユーザーVisual FoxProデータベースのバックアップ目的でコピーを作成するのは安全ですか(コピーまたはrobocopyを使用してcmdを使用するか、コピーして貼り付けます)?
2 に答える
DBF を排他的に開いている場合、DBF のコピーは失敗します。
ここではセカンダリ バックアップとして robocopy を使用しますが、(IIRC) 午前 3 時に実行するようにスケジュールします。この時間は、システムにライブ ユーザーがなく、自動化されたプロセスが終了する可能性が高い時間です。ユーザーが頻繁にテーブルに書き込んでいる勤務時間中に作成されたコピーを完全に信頼しているわけではありません。結果のテーブルに一貫性があるかどうかを知る方法はありません。
また、.CDX と .FPT (該当する場合) が異なる時間にコピーされるため、.DBF と同期していないことを心配する必要があります。
したがって、あなたの質問に対する答えは、「書き込みが行われていないことを確認できない限り、おそらくそうではありません(もちろん、テーブルは排他的に開かれていません)」です。
安全な手術とは言えません。まず、それが可能かどうかはわかりません。試したことはありませんが、コピーしようとすると、ファイルが使用中であることを通知してコピーが失敗する可能性があります。コピーできたとしても、データベースが開いているときに変更が加えられる可能性があるため、危険があります。Visual FoxPro データベースは、ファイル システムに保存されている他のファイルと変わらないため、ファイルの一部がコピーされて変更が加えられると、バックアップが破損し、破損したデータベースが使用できなくなります。