Безопасное копирование файловых баз данных 1С (1Cv8.1CD)
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Эта программа для тех, кто работает с файловой версией 1С.
Программа просто незаменима в случаях когда вы работаете в терминале или по сети, и вам потребовалось сделать бэкап базы.
Обычно заставляют пользователей выйти, делают копию, и потом все входят по новой. Это естественно не нравится пользователям и занимает какое то время (ведь нужно всех оповестить о необходимости выхода, а потом о необходимости входа).
В особо "продвинутых" случаях, нагло "прибивают" процессы пользователей, за что вполне заслуженно вызывают на себя гнев окружающих.
И наконец в особо "нелепых" случаях, просто копируют файл 1cv8.1CD, наивно думая что все пучком.
Даже случаи ночных бэкапов, когда предполагается что все уже давно дома, походят далеко не всем. Во первых кто-то может и задержаться, а во вторых может быть работа с базой в режиме 24/7 (диспетчерские к примеру).
Почему же нельзя просто скопировать файл 1cv8.1CD?
Принцип работы 1С, заключается в том, что основной файл базы 1cv8.1CD никак не блокируется. Блокировки накладываются на вспомогательный файл 1cv8.1CL. То есть когда 1С хочет что-то прочитать, или записать то она блокирует 1cv8.1CL с определенными смещениями, которые соответствуют тем или иным таблицам. Когда все, что нужно прочитала (записала), то блокировки снимаются.
В упрощенном виде можно процесс "Блокировка - Запись - Разблокировка", представить как транзакцию. В силу естественных причин они должны быть атомарны (неделимы), ведь иначе получим несогласованные данные, и как следствие заведомо аварийную базу.
В момент простого копирования, есть очень большой риск, что получите копию с несогласованным данными. Ведь пока вы копировали 5-й по счету мегабайт, 1С в 1-м по счету мегабайте внесла некоторые изменения. И вы получите копию, где 5-й мегабайт "свежий", а 1-й мегабайт "старый". Другими словами копия получилась несогласованная, аварийная, и она вам обязательно за это "отомстит" в самый неподходящий момент.
Принцип действия программы:
Программа блокирует необходимые файлы, при этом ждет пока 1С завершит то, что начала. Затем копирует 1cv8.1CD в текущий каталог с добавлением к имени текущей даты и времени.
Если в процессе копирования, 1С решит что-то записать в базу (начать транзакцию), то ей придется дождаться завершения копирования.
Если в процессе копирования, 1С решит что-то прочитать из базы, то она успешно это сделает, ведь программа блокирует только на запись. Другими словами, те пользователи, которые пролистывают журнал документов, открывают формочки и формируют отчеты, даже не заметят блокировки.
Как использовать:
Для использования необходимо запустить в каталоге с базой данных. Копия базы данных появится в том же каталоге.
Что не реализовано, и будет реализовано в следующий версиях:
1) Поддержка командной строки
2) Сжатие копий
Простым копированием, или способом, указанным тут, действовать ни в коем случае нельзя, ибо будете получать аварийные копии!
Вступайте в нашу телеграмм-группу Инфостарт