Переход с файлового варианта работы 1С:Предприятие на серверный (SQL) является критически важным шагом для растущего бизнеса, когда количество пользователей превышает 5-10 человек, а объем данных начинает тормозить работу системы. Файловые базы данных, несмотря на удобство начального развертывания, имеют физические ограничения на скорость одновременной записи и чтения, что неизбежно приводит к блокировкам и зависаниям при активной работе отдела бухгалтерии или склада.
Процедура переноса (конвертации) технически несложна, но требует строгого соблюдения последовательности действий, чтобы избежать потери данных или нарушения целостности ссылочной информации. В данной статье мы подробно разберем, как выполнить миграцию данных из файла .1cd на сервер MS SQL Server или PostgreSQL с использованием стандартных средств платформы и администратора серверов 1С.
Начинать процесс необходимо только после того, как вы убедились в наличии актуальных лицензий на сервер 1С:Предприятие и правах доступа к СУБД. Неправильная настройка параметров соединения или создание базы с некорректными правами пользователя может привести к невозможности подключения, поэтому внимательно следуйте каждому шагу инструкции.
Подготовка инфраструктуры и проверка лицензий
Перед началом конвертации необходимо убедиться, что на целевом сервере установлена и корректно настроена сама СУБД. Для работы 1С:Предприятие чаще всего используются Microsoft SQL Server или PostgreSQL, причем версии СУБД должны соответствовать требованиям вашей версии платформы 1С.
Важным этапом является проверка лицензии на использование сервера 1С. Если вы планируете запускать более трех сеансов одновременно или работать в режиме толстого клиента через сервер приложений, наличие защищенного ключа или пин-кода обязательно.
⚠️ Внимание: Убедитесь, что версия платформы 1С на клиентских машинах и на сервере приложений совпадает или серверная версия не ниже клиентской, иначе могут возникнуть ошибки совместимости формата данных.
Также на этом этапе рекомендуется создать отдельного пользователя в СУБД, который будет владельцем будущей базы данных 1С. Использование учетной записи sa или postgres (суперпользователя) для работы 1С не рекомендуется из соображений безопасности и стабильности работы.
Создайте для базы 1С отдельного пользователя в СУБД с правами db_owner (для SQL Server) или правами на создание схем (для PostgreSQL), чтобы изолировать права доступа.
Проверьте сетевую доступность: сервер 1С должен иметь возможность устанавливать соединение с портом СУБД (обычно 1433 для SQL Server или 5432 для PostgreSQL). Блокировка порта брандмауэром — одна из самых частых причин ошибок на этапе создания базы.
Создание пустой базы данных в администраторе серверов
Процесс перевода начинается не с выгрузки данных, а с создания"контейнера" на стороне сервера 1С. Для этого необходимо запустить утилиту ras или воспользоваться графическим интерфейсом"Администратор серверов 1С:Предприятия".
В консоли администратора выберите нужный кластер серверов и в контекстном меню информационных баз выберите пункт"Добавить". В мастере создания укажите имя новой базы, которое будет видно пользователям в списке при запуске 1С.
- 📂 Выберите тип размещения:"На сервере 1С:Предприятия".
- 🗄️ Укажите тип СУБД: MS SQL Server, PostgreSQL или Oracle.
- 🔑 Введите параметры подключения к СУБД: сервер, имя пользователя и пароль.
- 📝 Задайте имя базы данных в терминах СУБД (часто совпадает с именем в 1С).
На данном этапе физическая база данных в СУБД еще не создается, формируется лишь метаданные кластера 1С. Это позволяет системе знать, куда направлять запросы при попытке подключения пользователей.
После нажатия кнопки"Готово" в списке информационных баз появится новая запись со статусом"Пустая база". Именно с ней мы будем работать на следующем этапе для загрузки конфигурации и данных.
☑️ Подготовка базы в кластере
Выгрузка файловой базы в формат.dt
Теперь переходим к работе с исходной файловой базой, которую необходимо перенести. Запустите 1С в режиме Конфигуратор под пользователем с полными правами (обычно это Администратор).
В меню выберите пункт Администрирование → Выгрузить информационную базу. Система предложит указать путь для сохранения файла выгрузки. Файл будет иметь расширение .dt и содержать всю структуру метаданных, справочники, документы и регистры.
⚠️ Внимание: Файл выгрузки.dtможет занимать значительный объем места на диске (иногда в 2-3 раза больше размера файла.1cd), поэтому убедитесь, что на диске достаточно свободного пространства.
Процесс выгрузки может занять от нескольких минут до нескольких часов в зависимости от объема данных. В это время работа других пользователей с базой должна быть прекращена, так как выгрузка делает монопольное соединение с данными.
После завершения операции обязательно проверьте целостность полученного файла. Хотя 1С обычно сообщает об ошибках в процессе, дополнительная проверка размера файла (он не должен быть 0 байт) лишней не будет.
Что делать, если выгрузка прервалась?
Если процесс выгрузки был прерван (отключение электричества, сбой сети), файл.dt скорее всего будет поврежден. Не пытайтесь использовать его для загрузки. Необходимо устранить причину сбоя и начать процесс выгрузки заново с самого начала.
Загрузка данных в серверную базу
Следующий шаг — наполнение созданной ранее пустой серверной базы данными из файла выгрузки. Запустите 1С в режиме Конфигуратор, подключившись к новой пустой базе, которую мы создали в кластере серверов.
При первом подключении система предложит создать базу данных в СУБД. Подтвердите это действие. После открытия конфигурации (которая пока пуста) перейдите в меню Администрирование → Загрузить информационную базу.
Укажите путь к ранее сохраненному файлу .dt. Система начнет процесс загрузки, который включает создание таблиц в СУБД, загрузку метаданных и перенос всех записей регистров и документов.
| Этап загрузки | Описание процесса | Возможные риски |
|---|---|---|
| Создание структуры | Генерация таблиц и индексов в СУБД | Нехватка прав у пользователя СУБД |
| Загрузка метаданных | Перенос конфигурации, форм, отчетов | Конфликт версий платформы |
| Загрузка данных | Вставка записей в таблицы | Переполнение журнала транзакций СУБД |
| Пост-обработка | Пересчет итогов, построение индексов | Длительное время выполнения |
Время загрузки напрямую зависит от производительности дисковой подсистемы сервера СУБД и объема данных. В отличие от файловой базы, здесь активно используются ресурсы процессора и оперативной памяти сервера.
По завершении загрузки 1С предложит перезапустить конфигуратор. Согласитесь с этим, чтобы система применила все изменения и обновилась кэш-структура.
Успешная загрузка файла.dt в пустую серверную базу завершает техническую часть миграции, делая данные доступными для работы через сервер приложений.
Настройка прав доступа и тестирование производительности
После успешной загрузки данных необходимо настроить права доступа для пользователей. В серверном варианте права могут управляться как средствами 1С (роли), так и на уровне СУБД, хотя основной контроль осуществляется внутри платформы.
Зайдите в режим 1С:Предприятие под администратором и проверьте список пользователей. Убедитесь, что всем необходимым сотрудникам назначены соответствующие роли. При переходе на SQL права, заданные в файловой базе, обычно сохраняются, но требуют перепроверки.
- 👥 Проверьте наличие всех пользователей в списке.
- 🔐 Убедитесь, что у пользователей есть право на запуск тонкого клиента.
- ⚙️ Протестируйте проведение документов для проверки блокировок.
Критически важным этапом является тестирование производительности. Выполните сложные отчеты или закройте месяц, чтобы убедиться, что сервер справляется с нагрузкой. Если наблюдаются тормоза, возможно, потребуется настройка параметров СУБД (размер памяти, степень параллелизма).
⚠️ Внимание: Параметры работы СУБД (например, размер буферного кэша или настройки автонастройки) могут отличаться от стандартных. Сверьте рекомендации по настройке производительности для вашей конкретной версии SQL Server или PostgreSQL в официальной документации.
Не забудьте обновить ярлыки запуска у пользователей. В свойствах ярлыка в поле"Сервер 1С:Предприятия" должен быть указан адрес кластера серверов, а не путь к файлу на диске.
Возможные ошибки и способы их решения
В процессе миграции администраторы часто сталкиваются с типовыми ошибками. Понимание их причин позволяет быстро восстановить работоспособность системы без потери данных.
Одна из распространенных проблем — ошибка"Недостаточно прав для создания базы данных в СУБД". Это означает, что пользователь, от имени которого 1С подключается к СУБД, не имеет прав CREATE DATABASE или прав на создание схем.
Другая частая ошибка связана с несовместимостью кодировки или сортировки (Collation) в SQL Server. База данных 1С требует настройки сортировки (обычно Cyrillic_General_CI_AS), и если сервер настроен иначе, могут возникать конфликты при сравнении строк.
Также возможна ситуация, когда после загрузки база видна в списке, но при попытке входа выдается ошибка соединения. Это часто указывает на то, что служба Агент сервера 1С не видит изменений или заблокирован порт связи между клиентом и сервером.
Что делать, если после загрузки база работает медленно?
Первым делом проверьте фрагментацию индексов в СУБД. После массовой загрузки данных индексы могут быть неоптимальны. Выполните команду перестроения индексов (Rebuild) в SQL Server или VACUUM FULL в PostgreSQL. Также проверьте, не исчерпан ли журнал транзакций.
Можно ли вернуться обратно на файловый вариант?
Да, это возможно. Процедура аналогична: вы делаете выгрузку серверной базы в файл .dt через Конфигуратор, а затем загружаете этот файл в новую пустую файловую базу. Однако это имеет смысл только для архивных целей или тестирования, так как вы теряете преимущества многопользовательской работы.
Нужно ли останавливать службу 1С при миграции?
Останавливать службу кластера серверов не обязательно, но рекомендуется прекратить работу всех пользователей с переносимой базой. Сама служба администрирования может работать, пока вы создаете новую базу в списке через консоль.
Влияет ли версия платформы на процесс конвертации?
Да, влияет. Желательно, чтобы версия платформы, которой вы делаете выгрузку, и версия, на которой развернут сервер, были одинаковыми. Если сервер новее, он обычно может принять базу от старой версии, но обратная ситуация (загрузка базы с нового сервера на старый клиент) вызовет ошибку обновления конфигурации базы данных.
Как проверить целостность данных после переноса?
Используйте встроенную обработку"Тестирование и исправление" в режиме Конфигуратора. Запустите её с правами администратора, выбрав все пункты проверки (логический контроль, расчет итогов). Это гарантирует, что ссылки на объекты не биты и регистры сбалансированы.