Как настроить выгрузку информационной базы 1С 7.7 по расписанию

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

При администрировании баз данных 1С:Предприятия 7.7 часто возникает задача регулярного создания резервных копий или выгрузки данных для переноса на другой сервер. Ручное выполнение операции через пункт меню Администрирование — Выгрузить данные отнимает много времени, поэтому автоматизация данного процесса через планировщик задач является типовой необходимостью. Разберем основные способы реализации автоматической выгрузки, ограничения штатных механизмов на больших объемах данных и альтернативные решения средствами СУБД.

Способ 1. Автоматизация выгрузки через пакетный режим Конфигуратора

Платформа 1С 7.7 поддерживает запуск Конфигуратора в пакетном (командном) режиме с передачей управляющего файла сценария. Проанализируем, как настроить данный механизм по шагам.

  1. Создание файла параметров: Создадим текстовый файл с расширением .prm (например, unload_script.prm), в котором укажем секции и параметры выгрузки:

    
    [General]
    Output=C:\Backups\Log\unload.log
    Quit=1
    UnloadData=1
    
    [UnloadData]
    UnloadToFile=C:\Backups\Dump_Base.zip
    IncludeUserDef=1
    

    Параметр Quit=1 обеспечивает автоматическое завершение работы Конфигуратора после выполнения операции, UnloadData=1 активирует режим выгрузки данных, а IncludeUserDef=1 включает в выгрузку список пользователей и их права.

  2. Формирование командной строки запуска: В планировщике задач Windows (Task Scheduler) или в исполняемом командном файле .bat настроим запуск исполняемого файла 1С:

    
    "C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D"C:\1CBases\Trade" /N"Admin" /P"Password" /@"C:\1CBases\unload_script.prm"
    

    Здесь параметр config указывает на запуск в режиме Конфигуратора, ключ /D задает путь к каталогу информационной базы, /N и /P — имя пользователя и пароль с правами администратора, а ключ /@ указывает путь к файлу сценария.

Важные требования для пакетного режима:

  1. В базе данных не должно быть активных пользователей на момент выгрузки. Режим выгрузки требует монопольного доступа к данным.
  2. Для учетной записи, под которой запускается процесс, в Конфигураторе должны быть предварительно отключены все диалоговые окна (например, окно «Совет дня» и заставка). Иначе процесс зависнет в ожидании ответа пользователя.

Ограничения пакетной выгрузки на базах большого объема

Рассмотрим сложности, возникающие при обработке информационных баз размером свыше нескольких гигабайт (например, 40 ГБ):

  1. Ограничение встроенного архиватора: Штатная библиотека сжатия zip32.dll в 1С 7.7 имеет ограничение на размер формируемого архива и файла 1Cv7.DAT (до 2–4 ГБ). Превышение этого объема приводит к аварийному завершению процесса выгрузки.
  2. Использование сторонних библиотек: Для обхода лимита используются модифицированные библиотеки архивации, отключающие компрессию (сохраняющие данные без сжатия). Если используемая модификация вызывает графический диалог настроек сжатия, автоматический пакетный запуск заблокируется. В таком случае применяются библиотеки без вызова GUI либо специализированные утилиты автоматизации и эмуляции диалоговых окон.
  3. Длительность загрузки и пересчет итогов: Формат выгрузки 1Cv7.DAT содержит исходные таблицы без рассчитанных итогов регистров. При обратной загрузке данных в пустую базу требуется полный пересчет служебных таблиц и итогов, что на больших базах может занимать несколько часов.

Способ 2. Прямой перенос средствами MS SQL Server

Если цель выгрузки — регулярный перенос рабочей копии базы с одного SQL-сервера на другой (например, с MS SQL Server 2000 на MS SQL Server 2008), использование механизма Выгрузить данные является наименее оптимальным путем. Намного эффективнее использовать прямое резервное копирование средствами СУБД.

Разберем технические особенности переноса:

  1. Совместимость резервных копий: MS SQL Server 2008 штатно поддерживает восстановление файлов резервных копий (.bak), созданных в MS SQL Server 2000 (уровня пакетов обновления SP3a/SP4). База успешно восстанавливается командой RESTORE DATABASE, автоматически повышая внутренний формат таблиц до версии 2008.
  2. Настройка 1С 7.7 для работы с MS SQL 2008: Платформа 1С 7.7 при запуске проверяет версию SQL Server и блокирует подключение к СУБД новее 2000. Чтобы база запустилась на MS SQL 2008, требуется отключить проверку версии в библиотеке BkEnd.dll и поместить пустой файл OrdNoChk.prm в каталог базы для отключения проверки порядка сортировки (Collation).
  3. Автоматизация сценария: Создание резервной копии на исходном сервере через SQL Server Agent, передача файла по сети и выполнение команды восстановления на целевом сервере сокращает время синхронизации с нескольких часов до считанных минут, не нагружая механизмы Конфигуратора 1С.
← На главную