Відмова: Я програмний інженер, а не ІТ-професіонал, вибачте, якщо деякі мої пропозиції є дурними або іншим чином смішними.
Додаток Windows, який завжди працюватиме, підключений до кількох баз даних MS Access і постійно взаємодіє з ними. Програма може будь-коли читати чи писати будь-яку з цих баз даних. Деякі бази даних невеликі, і залишаються приблизно однаковими. Деякі бази даних є (відносно) великими (кілька сотень тисяч рядків) і додаються постійно. Ми хотіли б робити резервну копію цього набору баз даних кожні X хвилин, не вимикаючи додаток. Резервне копіювання буде або на localhost (другий жорсткий диск), або в локальній мережі (100mbit).
Додаток буде працювати в ОС Windows XP або Windows 7.
Я розумію, що справжнє рішення - «припинити використання MS Access», що наразі не є варіантом.
Варіант 1: Копіювання файлів
Ми могли просто скопіювати файли, скориставшись командою Windows copy (або xcopy?), Або якоюсь (бажано безкоштовною) копією файлу сторонніх файлів. Чи є з цим проблеми?
Недоліком цього варіанту є те, що більші бази даних щоразу копіюються, що може зайняти більше декількох секунд. Що відбувається, коли записується база даних MS Access під час її копіювання? (Пошкодження даних? Неможливість копіювання?)
Варіант 2: Синхронізувати
У нас може бути запущений третій процес, який підтримує резервні бази даних MS Access синхронізовані з їх живими аналогами. У багатьох існуючих програмах я розглядав підтримку «справжніх» двигунів баз даних, таких як SQL Server, Postgres тощо, але, здається, MS Access тут не має підтримки (а може бути, я просто не шукаю потрібних ключових слів).