Переход на новую версию платформы или масштабирование бизнеса часто требуют смены режима работы информационной системы. Самый распространенный сценарий — конвертация базы данных из файлового варианта в клиент-серверный. Это позволяет подключить неограниченное количество пользователей, повысить отказоустойчивость и ускорить работу с большими объемами данных.
Процесс переноса данных технически представляет собой выгрузку информации в универсальный формат 1CDT с последующим развертыванием на сервере СУБД. Важно понимать, что сама конфигурация при этом остается неизменной, меняется лишь физическое хранилище. Ошибки на этапе подготовки могут привести к потере целостности справочников или истории документов.
Прежде чем начать активные действия, необходимо убедиться, что у вас есть актуальная резервная копия и доступ к консоли администрирования серверов 1С. Также потребуется установленный сервер баз данных, например, PostgreSQL или MS SQL Server, который уже настроен и готов к приему новых кластеров.
Подготовка файловой базы к миграции
Первым шагом является полная остановка работы всех пользователей в переносимой базе. Если кто-то останется в системе в момент выгрузки, транзакции могут не завершиться корректно, что приведет к рассинхронизации данных. Администратор должен принудительно завершить все сеансы через консоль управления или режим предприятия.
Далее необходимо выполнить проверку и исправление информационной базы. Этот этап критически важен, так как переносить «мусор» в новую среду не имеет смысла. Запустите режим предприятия с ключом командной строки или через меню «Администрирование».
- 🔍 Проверка ссылочной целостности: система найдет битые ссылки на удаленные элементы.
- 🗑️ Удаление помеченных объектов: очистит базу от элементов, запланированных к удалению.
- 📊 Пересчет итогов: гарантирует корректность регистров накопления перед выгрузкой.
После успешного прохождения всех этапов тестирования можно приступать к созданию резервной копии файлового каталога. Скопируйте всю папку с базой данных на внешний носитель или в облачное хранилище. Это ваша страховка на случай непредвиденных сбоев в процессе конвертации.
☑️ Готовность к выгрузке
Выгрузка базы в формат 1CDT
Для непосредственной конвертации используется утилита командной строки 1cv8. Она входит в стандартную поставку платформы и не требует дополнительного лицензирования. Выгрузка происходит в специальный бинарный формат, который является универсальным для всех поддерживаемых СУБД.
Команда запускается от имени администратора системы. Синтаксис требует указания пути к исходной базе, пути для файла выгрузки и параметров аутентификации. Если используется файловая база, пароль может не потребоваться, если он не установлен.
1cv8 8.3.22.1780 CONVERTDB /F"C:\Base1C" /DT"D:\Backup\base.dt" /N"Admin" /P"Password"
В процессе выполнения утилита создаст файл с расширением .dt. Его размер может быть значительно меньше размера исходной папки благодаря сжатию данных. Время выполнения зависит от объема информации и скорости дисковой подсистемы.
⚠️ Внимание: Убедитесь, что на диске, куда производится выгрузка, достаточно свободного места. Файл
.dtможет временно занимать объем, превышающий размер исходной базы в процессе архивации.
После завершения процесса обязательно проверьте наличие файла выгрузки и его размер. Если файл весит 0 байт или процесс завершился с кодом ошибки, отличным от нуля, необходимо изучить журнал регистрации для выяснения причин сбоя.
Используйте ключ /DisableStartupMessages в командной строке, чтобы скрыть всплывающие окна интерфейса 1С при автоматизации процесса выгрузки через скрипты.
Создание пустой базы на сервере 1С
Теперь переходим к стороне сервера. Вам необходимо создать новую информационную базу в кластере серверов 1С:Предприятие. Делается это через консоль администрирования (ras) или графический интерфейс на сервере приложений.
При создании новой базы выберите тип размещения «На сервере 1С:Предприятия». В мастере создания потребуется указать имя кластера серверов, имя создаваемой базы и, самое главное, параметры подключения к СУБД.
Введите имя пользователя базы данных и пароль, которые были предварительно созданы в системе управления базами данных (например, в pgAdmin или SSMS). Этот пользователь должен иметь права на создание схем и таблиц в рамках выделенной базы данных СУБД.
| Параметр | Описание | Пример значения |
|---|---|---|
| Сервер 1С | Имя хоста сервера приложений | srv-1c-01 |
| Сервер СУБД | Адрес машины с базой данных | sql-server-01 |
| Тип СУБД | Выбранная система управления | PostgreSQL 15 |
| Имя БД | Физическое имя базы в СУБД | db_accounting_prod |
На этом этапе создается только пустая структура метаданных и служебные таблицы. Фактические данные пользователя (справочники, документы) в ней пока отсутствуют. Это лишь «контейнер», готовый к приему информации из файла выгрузки.
Загрузка данных из DT-файла
Финальный этап конвертации — загрузка ранее созданного дампа в новую пустую базу. Операция выполняется аналогично выгрузке, но с использованием ключа /IBCmd или специализированной команды загрузки.
Запустите команду загрузки, указав путь к файлу .dt и реквизиты новой базы на сервере. Процесс займет больше времени, чем выгрузка, так как системе необходимо распаковать данные, создать индексы и заполнить таблицы СУБД.
1cv8 8.3.22.1780 LOADINFO /S"srv-1c-01\base_new" /N"Admin" /P"Pass" /DT"D:\Backup\base.dt"
Во время загрузки не рекомендуется прерывать процесс или нагружать сервер другими задачами. Интенсивная дисковая активность и операции с памятью могут замедлить работу других служб на физическом хосте.
Что делать, если загрузка зависла?
Если процесс загрузки остановился на определенном проценте более чем на 30 минут, проверьте журнал событий Windows и журнал регистрации 1С. Часто причина кроется в нехватке места в логах транзакций СУБД или блокировках на уровне таблиц. Не убивайте процесс сразу — дайте системе время на откат транзакции.
По завершении операции система выдаст сообщение об успешном завершении. Теперь база готова к работе в клиент-серверном режиме. Первичный запуск может занять некоторое время из-за инициализации кэша и обновления конфигурации.
Настройка прав доступа и пользователей
После успешной миграции необходимо перенести или заново настроить права доступа. В файловом режиме права часто хранились локально, тогда как в клиент-серверном варианте они управляются через профиль безопасности группы доступа.
Зайдите в режим предприятия под пользователем с полными правами. Откройте раздел «НСИ и администрирование» -> «Настройки пользователей и прав». Проверьте, что все необходимые пользователи существуют и имеют корректные роли.
- 👥 Синхронизация с доменом: при необходимости привяжите пользователей 1С к учетным записям Windows.
- 🔐 Настройка профилей групп доступа: ограничьте права нативные разделы (зарплата, бюджетирование).
- 📝 Проверка аудита: убедитесь, что включено протоколирование действий критических пользователей.
Особое внимание уделите пользователям, работающим через тонкий клиент. Убедитесь, что в настройках публикации на веб-сервере (если используется) указаны корректные пути и параметры аутентификации.
⚠️ Внимание: Параметры подключения к базе данных в файле
srvinfo\reg_1541могут отличаться от настроек в самом кластере. Всегда проверяйте актуальность конфигурации через консоль администрирования, а не путем ручного редактирования файлов.
После переноса на SQL обязательно выполните реструктуризацию таблиц через режим предприятия, чтобы оптимизировать физическое хранение данных под новую СУБД.
Решение частых проблем при конвертации
В процессе миграции администраторы часто сталкиваются с типовыми ошибками. Понимание их природы позволяет быстро восстановить работоспособность системы без обращения в техническую поддержку вендора.
Одной из распространенных проблем является ошибка «Превышен размер строки» при загрузке в PostgreSQL. Это связано с различиями в реализации типов данных между файловой версией и конкретной СУБД. Решение требует изменения конфигурации или настроек сервера БД.
Также возможны проблемы с кодировкой, если в базе использовались специфические символы, не поддерживаемые текущей локалью сервера. В этом случае данные могут отображаться некорректно (кракозябры) после загрузки.
Почему возникает ошибка при загрузке в PostgreSQL?
Чаще всего проблема связана с ограничением на размер строки в 8 КБ в стандартных настройках Postgres. Если в конфигурации 1С есть длинные текстовые поля или составные типы, они могут не поместиться. Решение: увеличить параметр work_mem или использовать специализированные патчи для работы с большими строками в 1С.
Можно ли конвертировать базу обратно в файловый режим?
Да, процедура обратима. Вы можете выгрузить базу из клиент-серверного режима в файл .dt и затем развернуть её в каталоге на диске. Однако это имеет смысл только для небольших баз, так как файловый режим не поддерживает многопользовательскую работу с блокировками на уровне записей.
Сколько времени занимает конвертация базы на 100 Гб?
Время зависит от скорости дисков (SSD vs HDD), производительности процессора и нагрузки на сеть. В среднем, выгрузка и загрузка базы объемом 100 Гб на современном оборудовании занимает от 40 минут до 2 часов. Рекомендуется планировать работы на нерабочее время.
Нужно ли обновлять конфигурацию перед конвертацией?
Не обязательно, но желательно. Конвертация базы данных не зависит от версии конфигурации. Однако, если вы планируете дальнейшее развитие системы, лучше сначала обновить конфигурацию до актуального релиза в файловом режиме, протестировать её, и только потом переносить на сервер.