Я говорю о наборе данных, содержащем сотни файлов данных в формате DBF в общем месте, некоторые или все из которых могут быть открыты или заблокированы несколькими пользователями сети, а также о Microsoft Data Protection Manager, реплицируемом каждые два часа.
Можно ли в этой ситуации полагаться на «снимки»?
Лично я бы не стал рассчитывать на то, что ваши снимки будут хорошими. В зависимости от схемы доступа приложения к файлам данных, которые вы мощь повезет, но я бы тоже не стал фермой на нем.
Каждый раз, когда вы делаете снимки данных из приложения, которое не знает о снимках (что было бы каждый приложение "база данных общих файлов") вы рискуете получить противоречивую копию.
Конечно, вы получите именно то, что находится на диске во время создания моментального снимка, но вы не знаете, находились ли один или несколько пользовательских экземпляров приложения на полпути в процессе обновления данных. Отсутствует механизм, так как отсутствует движок базы данных на стороне сервера, чтобы инструктировать всех клиентов привести файлы, которые они открывают, в согласованное состояние. Конечно, базовая ОС на компьютере файлового сервера будет приостанавливать ввод-вывод в файловую систему перед созданием моментального снимка, но вы понятия не имеете, какую глупость делают сами приложения (хранят незаписанные данные в памяти на клиенте и т. Д.).
Если вы действительно хотите быть в безопасности, регулярно создавайте резервные копии ваших файлов DBF, когда они не используются. Также делайте снимки, если хотите, и вам может повезти, но, по крайней мере, у вас будут «неиспользуемые» резервные копии, на которые можно будет вернуться, если снимки окажутся негодными.
Как бы то ни было, мы используем DoubleTake для резервного копирования общих плоских файлов в реальном времени (или близком к реальному).
Это ужасно дорого, но это был единственный надежный вариант, который мы нашли. У нас было около 20 ГБ файлов Pervasive Btrieve.
С тех пор, как мы перешли на SQL Server, у нас осталось очень мало плоских файлов, и большинство из них теперь большую часть времени разблокировано, и мы обнаружили, что простой DFS было достаточно для обеспечения регулярного резервного копирования.