Как я могу открыть заблокированный файл MDB? - PullRequest
0 голосов
/ 24 марта 2009

У меня есть база данных, которая блокирует MDB и такая, что я хотел бы сделать резервную копию. Однако используемый мной инструмент (у меня есть источник) открывает файл перед его резервным копированием и обнаруживает, что он заблокирован.

Есть ли способ открыть его только для чтения?

Для справки инструмент использует C # и .NET 2.0 (но может быть обновлен до 3.5).

Ответы [ 3 ]

5 голосов
/ 24 марта 2009

Причина, по которой ваш инструмент блокирует файл, заключается в том, чтобы предотвратить изменение файла во время его резервного копирования. Например, если вы начали резервное копирование, но на полпути в СУБД (например, SQL Server) решили внести изменения в файл, то ваша резервная копия будет повреждена.

Я рекомендую вам использовать инструменты, поставляемые с вашими решениями для баз данных, для выполнения резервного копирования. Другой вариант - остановить базу данных перед ее резервным копированием.

3 голосов
/ 24 марта 2009

Если СУБД удерживает блокировку записи в файле, и вы ее читаете, вы рискуете записать файл в СУБД во время чтения. В зависимости от того, какая часть была написана, вы можете получить поврежденную резервную копию файла. Лучше всего читать файл, только если СУБД не записывает данные в файл или не разрешает СУБД обрабатывать собственные резервные копии.

2 голосов
/ 24 марта 2009

Это похоже на этот вопрос:

Открытие теневой копии файла, если используется текущая копия

Зависит от того, как база данных открывает файл MDB. Если он не разрешает совместное чтение, вам не повезет, если вы не сможете открыть теневую копию. Здесь обсуждается, как это сделать:

Как скопировать файл или папку, заблокированную под Windows программным способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...