К статье
Практический материал

Администрирование · 12 мин

Как перевести 1С из файловой в SQL

Как перевести базу 1С из файлового режима в клиент-серверный на SQL Server или PostgreSQL: подготовка, выгрузка dt, настройка сервера и проверка результата.

Переход базы 1С из файлового режима в клиент-серверный (SQL) обычно становится необходимостью, когда с базой одновременно работают более 5–10 пользователей, объём данных превышает несколько гигабайт, а файл 1Cv8.1CD начинает регулярно «падать» или блокироваться. Файловый вариант хранит всю базу в одном файле и плохо переносит параллельную работу, тогда как SQL-сервер обеспечивает транзакционность, разграничение прав и устойчивость к сбоям.

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

Ниже разобран полный цикл перехода: от оценки готовности инфраструктуры до проверки работоспособности базы после загрузки. Инструкция подходит для типовых конфигураций (Бухгалтерия, Управление торговлей, ЗУП, ERP) на платформе 8.3 с MS SQL Server или PostgreSQL.

Когда переход на SQL действительно нужен

Файловый режим корректно работает в небольших компаниях: 1–5 пользователей, база до 3–5 ГБ, нет интенсивного документооборота. Признаки того, что файловый режим исчерпал себя: база долго открывается, проведение документов занимает десятки секунд, регулярно возникают ошибки «конфликт блокировок» и «файл базы данных повреждён», а утренний вход пользователей превращается в очередь.

Клиент-серверный вариант снимает эти ограничения: СУБД обрабатывает параллельные запросы, сервер 1С управляет блокировками на уровне записей, а объём базы практически не ограничен. Дополнительно появляются штатные средства резервного копирования на уровне СУБД и возможность разделить нагрузку между сервером приложений и сервером баз данных.

ПользователиБолее 5–10 одновременно

Файловый режим блокирует таблицы целиком при записи

Размер файла 1Cv8.1CDБолее 3–5 ГБ

Растёт риск повреждения файла и время регламентных операций

ОшибкиКонфликты блокировок, повреждение файла

Прямой признак перегрузки файлового режима

Регламентные заданияНужны фоновые задачи по расписанию

В клиент-серверном режиме они выполняются сервером стабильно

Что подготовить перед миграцией

Для клиент-серверного режима потребуется три компонента: сервер 1С:Предприятия, СУБД (MS SQL Server, PostgreSQL с патчами 1С или PostgreSQL от Postgres Pro) и лицензии — клиентские, а также лицензия на сервер 1С. Без серверной лицензии кластер не запустится. Убедитесь, что версия платформы на сервере совпадает с версией, под которой работала файловая база, или новее.

СУБД должна быть установлена и доступна по сети с сервера 1С. Для MS SQL Server заранее создайте учётную запись (обычно с аутентификацией SQL Server), под которой сервер 1С будет создавать базы — ей нужны права на создание баз данных (роль dbcreator или выше на время развёртывания). Для PostgreSQL используйте сборку, совместимую с 1С: ванильный PostgreSQL без патчей платформа не поддерживает.

Отдельно проверьте дисковое пространство: файл выгрузки .dt может занимать от 10–20% до почти полного размера исходной базы в зависимости от степени сжатия данных, а временная база на этапе загрузки потребует места под данные и журнал транзакций. Заложите запас минимум в два размера исходной базы.

Шаг 1. Выгрузка файловой базы в .dt

Выгрузка выполняется через конфигуратор и требует монопольного доступа: все пользователи и фоновые сеансы должны быть завершены. Откройте базу в конфигураторе, перейдите в меню «Администрирование» → «Выгрузить информационную базу» и укажите путь к файлу .dt на локальном диске с достаточным объёмом свободного места.

На больших базах выгрузка может занять от десятков минут до нескольких часов. Не прерывайте процесс и не выгружайте на сетевой диск — сбой сети испортит файл. Перед выгрузкой рекомендуется выполнить тестирование и исправление базы (Администрирование → Тестирование и исправление) в режиме проверки логической целостности, чтобы не переносить в SQL уже повреждённые данные.

Выгрузка базы в .dt
  1. 1
    Завершите сеансы всех пользователей и отключите регламентные задания
  2. 2
    Сделайте резервную копию каталога файловой базы
  3. 3
    Выполните тестирование и исправление (минимум — проверка логической целостности)
  4. 4
    Откройте конфигуратор: Администрирование → Выгрузить информационную базу
  5. 5
    Укажите локальный путь для файла .dt и дождитесь завершения
  6. 6
    Проверьте, что файл создан и его размер сопоставим с ожиданиями

Шаг 2. Установка и настройка сервера 1С и СУБД

Установите сервер 1С:Предприятия той же версии платформы, что и у клиентов. При установке на Windows выберите вариант запуска агента сервера как службы — по умолчанию используется учётная запись USR1CV8, которой нужно выдать права на каталоги сервера и доступ к СУБД. После установки откройте консоль администрирования серверов 1С и убедитесь, что кластер создан и работает (порт агента по умолчанию 1540, менеджера кластера — 1541, диапазон рабочих процессов 1560–1591).

Настройте СУБД. Для MS SQL Server включите смешанный режим аутентификации, если планируете SQL-учётную запись, откройте порт 1433 в брандмауэре и убедитесь, что служба SQL Server Browser запущена при использовании именованного экземпляра. Для PostgreSQL (сборки для 1С) проверьте параметры в postgresql.conf: достаточный объём shared_buffers, max_connections с запасом относительно числа пользователей и рабочих процессов, корректные настройки locale — база 1С требует определённой локали сортировки, иначе сравнение строк будет работать неправильно.

Шаг 3. Создание информационной базы на сервере

Создать клиент-серверную базу можно двумя способами. Первый — через диалог запуска 1С: кнопка «Добавить» → «Создание новой информационной базы» → выбор типа «На сервере 1С:Предприятия». Укажите имя кластера (имя сервера 1С), имя базы в кластере, тип СУБД, имя базы данных в СУБД и учётные данные администратора СУБД. Конфигурацию выберите пустую (без шаблона) — структура метаданных придёт из выгрузки.

Второй способ — через консоль администрирования серверов 1С: правый клик по кластеру → «Создать» → «Информационная база». Параметры те же. Этот способ удобнее, когда нужно сразу задать дополнительные настройки: блокировку регламентных заданий, разрешение выдачи лицензий сервером, параметры защищённого соединения.

После создания база появится в списке, но будет пустой. Не запускайте в неё пользователей до загрузки данных — любые изменения будут перезаписаны при загрузке .dt.

Шаг 4. Загрузка .dt в клиент-серверную базу

Откройте созданную пустую базу в конфигураторе (потребуется монопольный режим, для пустой базы он устанавливается автоматически). Перейдите в «Администрирование» → «Загрузить информационную базу» и укажите файл .dt. Платформа перенесёт конфигурацию и все данные, после чего выполнит реструктуризацию таблиц в СУБД.

Загрузка — самый длительный этап: на базах десятков гигабайт она может идти несколько часов. Следите за журналом транзакций MS SQL: если база находится в полной модели восстановления, журнал может заполнить диск. На время загрузки допустимо перевести базу в простую модель восстановления, а после завершения вернуть обратно и сделать полную резервную копию.

sql
ALTER DATABASE [Base1C] SET RECOVERY SIMPLE; -- на время загрузки; после неё вернуть FULL и сделать полный бэкап

Если загрузка прервалась с ошибкой, не пытайтесь «догрузить» — база в СУБД остаётся в несогласованном состоянии. Удалите информационную базу вместе с базой данных, устраните причину (нехватка места, права, версия платформы) и повторите загрузку с чистого листа.

Шаг 5. Проверка результата и подключение пользователей

После загрузки войдите в базу в режиме 1С:Предприятие под администратором. Проверьте ключевые участки: откройте несколько крупных документов и журналов, сформируйте оборотно-сальдовую ведомость или другой итоговый отчёт и сверьте итоги с файловой копией, проверьте справочники с большим числом элементов. Расхождение итогов — признак неполной загрузки.

Затем настройте эксплуатацию: включите регламентные и фоновые задания (после загрузки они часто отключены), проверьте права пользователей, настройте резервное копирование средствами СУБД, пропишите новый путь к базе у пользователей. Старую файловую базу не удаляйте сразу — переведите её в режим «только чтение» на случай сверки.

Контрольные точки

Как проверить результат

Итоги отчётов
Норма

ОСВ и ключевые отчёты совпадают с файловой копией

Тревожный признак

Расхождения сумм или пустые регистры

Регистры сведений и константы
Норма

Настройки, курсы валют, учётная политика на месте

Тревожный признак

Пустые константы, сброшенные настройки

Фоновые задания
Норма

Задания выполняются по расписанию без ошибок

Тревожный признак

Задания заблокированы или падают с ошибками

Работа пользователей
Норма

Несколько сеансов работают параллельно без конфликтов

Тревожный признак

Ошибки блокировок, зависания при проведении

Типичные ошибки при переходе

Типичные ошибки
01
Выгрузка .dt при работающих пользователях — файл получается несогласованным, итоги расходятся
02
Ручное создание базы в СУБД до создания информационной базы — конфликт параметров, ошибки при загрузке
03
Неподходящая версия PostgreSQL без патчей 1С — платформа отказывается работать с СУБД
04
Загрузка при полной модели восстановления без контроля журнала — переполнение диска и обрыв загрузки
05
Удаление файловой базы сразу после перехода — не остаётся источника для сверки и отката

Отдельная группа проблем — производительность после перехода. Если база в SQL работает медленнее файловой, причины обычно в настройках СУБД: недостаточный объём памяти, отсутствие обновления статистики, размещение данных и журнала на одном медленном диске. Сама по себе клиент-серверная архитектура не ускоряет неоптимальные запросы конфигурации — она снимает ограничения файлового режима.

Итог

Что важно запомнить

Переход выполняется по схеме: резервная копия → выгрузка .dt из файловой базы → установка сервера 1С и СУБД → создание пустой информационной базы на кластере → загрузка .dt → сверка итогов и настройка регламентных заданий. Критичны три вещи: монопольный доступ при выгрузке, совместимая версия СУБД и обязательная проверка на тестовой копии перед переводом рабочей базы.

Частые вопросы

Можно ли перевести базу в SQL без выгрузки .dt, напрямую?

Нет, штатного прямого переноса файла 1Cv8.1CD в СУБД не существует — форматы хранения принципиально разные. Единственный поддерживаемый путь — выгрузка в .dt и загрузка в клиент-серверную базу. Сторонние инструменты прямой конвертации не гарантируют целостность данных и не поддерживаются вендором.

Сколько времени занимает переход?

Для базы в несколько гигабайт выгрузка и загрузка обычно укладываются в 2–6 часов включая проверки. Базы десятков гигабайт могут потребовать целого выходного дня. Планируйте миграцию на нерабочее время и закладывайте запас на повторную попытку в случае ошибки.

Что выбрать: MS SQL Server или PostgreSQL?

MS SQL Server проще в администрировании для Windows-инфраструктуры и чаще описан в документации, но требует лицензий на СУБД. PostgreSQL (сборки для 1С или Postgres Pro) бесплатен или дешевле, но требователен к корректной настройке локали и параметров. По функциональности для 1С оба варианта рабочие; выбор определяется бюджетом и компетенциями администратора.

Нужна ли отдельная лицензия на сервер 1С?

Да. Клиент-серверный режим требует лицензии на сервер 1С:Предприятия помимо клиентских лицензий. Исключение — некоторые поставки, где серверная лицензия включена. Проверьте условия вашего договора до начала миграции, иначе кластер не сможет выдавать лицензии сеансам.

Что делать, если после перехода база работает медленно?

Сначала проверьте настройки СУБД: объём выделенной памяти, размещение данных и журнала на разных дисках, актуальность статистики и наличие регламентного обслуживания (обновление статистики, перестроение индексов). Затем — настройки кластера 1С: количество рабочих процессов, ограничения памяти. Типовые конфигурации после миграции часто требуют именно настройки обслуживания СУБД, а не доработок.

Можно ли вернуться обратно в файловый режим?

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