Миграция информационной базы с клиент-серверного варианта работы (на базе MS SQL или PostgreSQL) на файловый режим часто становится необходимостью при оптимизации затрат на инфраструктуру или при переносе базы в облако с ограничениями. Этот процесс требует внимательного отношения к структуре данных, так как смена платформы хранения подразумевает конвертацию таблиц базы данных в формат .1CD. Стандартная выгрузка и загрузка не всегда гарантируют целостность всех объектов, особенно если в системе накоплен большой объем исторических данных.

Процедура перевода не является тривиальной задачей, так как меняются правила блокировки записей, механизмы транзакций и способы индексации. Администратор системы должен заранее предусмотреть время простоя, так как в момент конвертации работа пользователей должна быть полностью остановлена. Неправильная последовательность действий может привести к потере части регистров сведений или нарушению прав доступа, что потребует сложного восстановления.

В данной статье мы подробно разберем технические аспекты перехода, используя стандартные средства платформы 1С:Предприятие 8.3 и утилиты командной строки. Вы узнаете, как корректно выгрузить базу в формат DT, загрузить её в файловый вариант и провести необходимый пересчет итогов для обеспечения стабильной работы после смены архитектуры.

Подготовка инфраструктуры и резервное копирование

Перед началом любых манипуляций с базой данных критически важно создать полную резервную копию исходного состояния. Это касается не только файла выгрузки, но и системных журналов транзакций СУБД. В случае сбоя на этапе конвертации у вас должна быть возможность откатиться к точке восстановления без потерь. Убедитесь, что на диске, куда будет развернута новая файловая база, достаточно свободного места, так как размер файла 1Cv8.1CD может существенно превышать объем занимаемый таблицами в SQL из-за особенностей хранения индексов.

⚠️ Внимание: Перед началом процедуры убедитесь, что все пользователи завершили сеансы работы. Принудительное завершение сеансов через консоль администрирования может привести к незавершенным транзакциям и повреждению данных при выгрузке.

Необходимо также проверить актуальность версии платформы. Желательно, чтобы версия клиентского приложения и сервера 1С совпадали с версией, на которой будет работать файловая база. Различия в версиях могут вызвать ошибки при открытии конфигурации или некорректную работу некоторых механизмов обновлений. Рекомендуется временно отключить регламентные задания, такие как удаление помеченных объектов или обмен данными, чтобы избежать фоновой активности во время подготовки.

☑️ Готовность к миграции

Выполнено: 0 / 4

Выгрузка базы данных в формат DT

Основным инструментом для переноса данных между разными вариантами работы 1С является механизм выгрузки в файл обмена .dt. Этот формат является универсальным и позволяет переносить как структуру конфигурации, так и все данные, включая регистры, документы и справочники. Выгрузку можно выполнить двумя способами: через графический интерфейс конфигуратора или с помощью утилиты командной строки rmngr или rphost, что предпочтительнее для автоматизации процесса на сервере.

При использовании графического интерфейса запустите конфигуратор в монопольном режиме. В меню выберите пункт «Администрирование» и затем «Выгрузить информационную базу». Система предложит указать путь для сохранения файла. Для больших баз этот процесс может занять значительное время, от нескольких минут до нескольких часов, в зависимости от объема данных и скорости дисковой подсистемы сервера. Монопольный режим здесь обязателен, так как он гарантирует неизменность данных в момент считывания.

Если вы предпочитаете работу с консолью, используйте следующую команду для инициирования процесса выгрузки:

rmngr -cluster :<порт> -base <имя_базы> -dump <путь_к_файлу>.dt -n <пользователь> -p <пароль>

Важно отметить, что при выгрузке больших объемов данных может потребоваться увеличение размера временного файла подкачки или настройка параметров буферизации. Ошибки вида «Недостаточно памяти» часто связаны не с отсутствием ОЗУ, а с лимитами на размер единого блока данных, обрабатываемого за один проход. В таких случаях рекомендуется разбить процесс или увеличить параметры в файле rbn конфигурации сервера.

Особенности выгрузки больших баз

При выгрузке баз объемом более 50 ГБ рекомендуется использовать параметры сжатия, если версия платформы позволяет это. Также стоит проверить логи сервера 1С на наличие предупреждений о длительных блокировках, которые могут замедлить процесс выгрузки в разы.

Создание новой файловой базы и загрузка данных

После успешной выгрузки необходимо создать новую пустую информационную базу в файловом варианте. Это делается через диалог запуска 1С, нажатием кнопки «Добавить» и выбором типа расположения «На локальном диске или на сетевом диске». Укажите корректный путь к каталогу, где будет храниться файл данных. Права доступа к этой папке должны быть настроены так, чтобы пользователь, под которым запускается 1С, имел права на чтение и запись.

Следующим этапом является загрузка ранее полученного файла .dt в созданную пустую базу. Запустите конфигуратор для новой базы и выберите пункт меню «Администрирование» -> «Загрузить информационную базу». Укажите путь к файлу дампа. Процесс загрузки включает в себя создание всех необходимых таблиц, заполнение их данными и построение служебных структур. На этом этапе система автоматически преобразует типы данных из формата СУБД в формат внутреннего хранения 1С.

Параметр Клиент-серверный вариант Файловый вариант
Хранение данных Таблицы MS SQL / PostgreSQL Файл 1Cv8.1CD
Блокировки Управляются СУБД Управляются платформой 1С
Макс. размер Ограничен сервером ~4 ГБ (рекомендуемый лимит)
Многопользовательский режим Высокая производительность Зависит от скорости сети

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

📊 Какой объем вашей базы данных?
Менее 1 ГБ
От 1 до 5 ГБ
Более 5 ГБ
Затрудняюсь ответить

Обновление конфигурации и пересчет итогов

После загрузки данных база находится в состоянии, требующем обязательного обновления конфигурации базы данных. Даже если версия конфигурации не менялась, смена платформы хранения данных требует перестройки таблиц. Зайдите в конфигуратор, выберите меню «Конфигурация» и нажмите «Обновить конфигурацию базы данных». Система предложит принять изменения, необходимо подтвердить действие. Этот этап создает новые индексы, оптимизированные для файлового доступа.

Критически важным шагом является пересчет итогов. При переходе с SQL на файл механизмы агрегации данных могут работать иначе, и накопленные итоги могут рассинхронизироваться с первичными документами. Выполните команду «Администрирование» -> «Пересчет итогов». Выберите все регистры или только те, где наблюдаются расхождения. Для больших баз этот процесс лучше запускать в ночное время, так как он создает высокую нагрузку на дисковую систему.

⚠️ Внимание: Не запускайте пересчет итогов в момент активной работы пользователей. Это может привести к временной блокировке всей базы и значительному замедлению работы для всех подключенных клиентов.

Также рекомендуется выполнить тестирование и исправление информационной базы. Эта утилита проверяет логическую целостность ссылок между объектами. В меню конфигуратора выберите «Администрирование» -> «Тестирование и исправление». Отметьте галочками пункты «Перепроведение документов» (если требуется) и «Проверка логической целостности». Устранение найденных ошибок на этом этапе предотвратит проблемы в будущем.

💡

Для ускорения пересчета итогов в файловом варианте рекомендуется временно отключить антивирусную проверку каталога с базой данных или добавить его в исключения, так как постоянное сканирование файла 1Cv8.1CD сильно тормозит запись.

Настройка прав доступа и параметров запуска

В файловом варианте работы модель безопасности отличается от клиент-серверной. Здесь нет централизованного управления пользователями на уровне сервера 1С, все права хранятся внутри самой базы. При загрузке из дампа пользователи переносятся, но их права могут сброситься или потребовать перепроверки. Зайдите в базу в режиме предприятия под администратором и проверьте список пользователей в разделе «НСИ и Администрирование».

Особое внимание уделите настройке сетевой (shared access), если база будет расположена на файловом сервере. Прямой доступ к файлу 1Cv8.1CD по сети должен осуществляться исключительно через протокол SMB с корректными настройками блокировок. Не рекомендуется использовать сетевых дисков с кэшированием офлайн-файлов, так как это приводит к рассинхронизации и порче базы при одновременной работе нескольких пользователей.

Для оптимизации работы в новом режиме измените параметры запуска в ярлыках пользователей. Добавьте ключи, отключающие лишние проверки, если база работает стабильно. Например, использование ключа /DisableStartupDialogs ускорит вход в систему. Также стоит проверить настройки временных файлов в профиле пользователя Windows, так как 1С активно использует каталог Temp для промежуточных вычислений.

💡

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

Возможные ошибки и способы их устранения

При переходе на файловый режим пользователи могут столкнуться с рядом специфических ошибок, которых не было в клиент-серверном варианте. Наиболее частая проблема — «Монопольный режим уже захвачен» или «База данных заблокирована». Это происходит, если один из клиентов некорректно завершил работу и файл блокировок 1Cv8.cdl не был освобожден. Решение заключается в удалении этого файла при отсутствии активных сеансов.

Еще одна распространенная проблема — медленная работа отчетов и проведение документов. В файловом варианте отсутствует мощный оптимизатор запросов СУБД, поэтому сложные запросы могут выполняться дольше. Рекомендуется анализировать медленные запросы через технологический журнал и упрощать их логику. Иногда помогает переиндексация файла базы данных, которая выполняется через утилиту chdbfl.

chdbfl -F <путь_к_файлу_базы>\1Cv8.1CD

Эта команда проводит дефрагментацию и переиндексацию файла, что часто возвращает производительность на приемлемый уровень. Также стоит следить за размером файла: если он приближается к 4 ГБ, работа системы может стать нестабильной. В таком случае необходимо рассмотреть возможность разделения базы на несколько информационных баз или очистку архивных данных.

⚠️ Внимание: Файловый режим работы не предназначен для одновременной работы более 10-15 пользователей с интенсивной нагрузкой. При превышении этого порога наблюдаются критические задержки и частые блокировки.

Если вы столкнулись с ошибкой «Недостаточно прав доступа» при попытке открытия базы, проверьте NTFS-права на папку с базой. Пользователь должен иметь права «Изменение» и «Чтение и выполнение». Ошибки прав часто возникают при переносе папки с базы с одного сервера на другой без сохранения атрибутов безопасности.

Секретный параметр для ускорения

В реестре Windows или через параметры запуска можно увеличить размер кэша табличного документа, что ускорит формирование печатных форм в файловом режиме. Однако это потребляет больше оперативной памяти на клиентских машинах.

Часто задаваемые вопросы (FAQ)

Можно ли автоматически конвертировать базу из SQL в файл без выгрузки в DT?

Нет, штатными средствами платформы 1С прямая конвертация «на лету» без промежуточного файла выгрузки не предусмотрена. Механизм DT является стандартным и наиболее надежным способом переноса данных между разнородными СУБД и файловым хранилищем.

Сохранятся ли истории изменений и регистры аудита после перехода?

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

Как перенести пользователей и их права из серверного варианта?

Список пользователей и их права переносятся вместе с данными базы при загрузке DT. Однако, если в серверном варианте использовалась аутентификация через домен Windows или LDAP, в файловом варианте эти пользователи станут обычными пользователями 1С, и им потребуется задать пароли внутри системы.

Что делать, если размер файла 1Cv8.1CD превысил 4 ГБ?

Файловый режим работы имеет рекомендательное ограничение в 4 ГБ. При превышении этого размера резко падает производительность и возрастает риск повреждения файла. Необходимо провести архивацию старых периодов (удаление данных) или вернуться к клиент-серверному варианту работы.

Нужно ли переустанавливать платформу 1С на клиентах после перехода?

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