Как выгрузить большую базу 1С 7.7 на MS SQL Server при ошибке создания архива?

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

При попытке выгрузить крупную информационную базу 1С 7.7, работающую на сервере MS SQL Server, через стандартный пункт Конфигуратора «Администрирование» — «Выгрузка данных» часто возникает ошибка создания архива. Выясним причину этой проблемы и разберем эффективные способы переноса базы данных на другой сервер.

Причины возникновения проблемы

Проанализируем техническую сторону ограничений платформы. Штатный механизм выгрузки платформы 1С:Предприятие 7.7 сначала формирует текстовый файл 1Cv77.dat, а затем упаковывает его вместе с файлом метаданных в ZIP-архив. Из-за использования 32-разрядных библиотек сжатия (в частности zlib) платформа не может обработать массив данных или итоговый файл, если его размер превышает 2 ГБ или 4 ГБ.

Сторонние плагины и библиотечные патчеры для обхода этого лимита на современных операционных системах (начиная с Windows Server 2008 R2 и Windows Server 2012) часто не срабатывают. Это связано с работой встроенных систем защиты операционной системы, таких как DEP (Data Execution Prevention) и UAC, которые блокируют попытки сторонних модулей перехватывать системные вызовы работы с файлами.

Решение 1. Перенос базы средствами MS SQL Server (Backup / Restore)

Рассмотрим наиболее надежный и простой способ переноса базы 1С 7.7 с одного SQL-сервера на другой. Использование средств самого SQL-сервера позволяет полностью миновать ограниченный механизм выгрузки 1С.

Разберем по шагам процесс создания и восстановления резервной копии:

  1. Запустим утилиту SQL Server Management Studio (SSMS) на исходном сервере.
  2. В дереве объектов нажмем правой кнопкой мыши на нужную базу данных и выберем Tasks — Back Up... (Задачи — Создать резервную копию).
  3. Укажем тип резервной копии Full, зададим каталог для сохранения файла .bak и запустим процедуру создания бекапа.
  4. Перенесем сформированный файл резервной копии на новый сервер.
  5. На новом сервере в SSMS кликнем правой кнопкой мыши по разделу Databases и выберем Restore Database... (Восстановить базу данных).
  6. Укажем путь к перенесенному файлу бекапа и завершим процесс восстановления.
  7. Создадим каталог информационной базы на диске и поместим туда файл конфигурации 1Cv7.md.
  8. Запустим Конфигуратор 1С 7.7 для новой базы, перейдем в меню «Администрирование» — «Параметры базы данных SQL...» и укажем имя нового сервера MS SQL, наименование базы и параметры авторизации.

Решение 2. Отсоединение и присоединение файлов базы (Detach / Attach)

Посмотрим на еще один быстрый вариант переноса базы путем прямого копирования ее файлов (.mdf и .ldf).

Разберем по шагам алгоритм действий:

  1. В SQL Server Management Studio на исходном сервере кликнем ПКМ по базе данных и выберем Tasks — Detach... (Задачи — Отсоединить).
  2. Скопируем файлы базы данных (файл данных .mdf и журнал транзакций .ldf), а также файл 1Cv7.md из рабочего каталога.
  3. На новом сервере в SSMS нажмем ПКМ на ветку Databases и выберем Attach... (Присоединить), после чего укажем путь к файлу .mdf.
  4. Запустим Конфигуратор 1С 7.7 и обновим параметры подключения к SQL-серверу в окне «Параметры базы данных SQL...».

Обратите внимание: Операция Attach работает при переносе базы на аналогичную или более новую версию MS SQL Server. Попытка присоединить базу к более старой версии SQL-сервера приведет к ошибке.

Решение 3. Настройка окружения для работы сторонних плагинов выгрузки

Если выгрузка в формат .dat необходима для свертки базы или ее перевода в файловый режим, проанализируем настройки операционной системы для запуска внешних библиотек-патчеров (например, Config Spy):

  1. Откроем параметры системы на сервере и добавим исполняемые файлы 1cv7s.exe или 1cv7.exe в список исключений службы DEP (Data Execution Prevention).
  2. В свойствах исполняемого файла 1С 7.7 установим режим совместимости с Windows Server 2003 или Windows XP.
  3. Выполним запуск Конфигуратора 1С 7.7 с правами администратора («Запуск от имени администратора»).
  4. При использовании сторонних утилит расширения архивации проверим правильность заполнения параметров в их конфигурационных файлах .ini.
← На главную