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

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

Как файловую базу 1С сделать серверной

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

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

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

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

Когда переход на клиент-серверный режим действительно нужен

Не каждой базе нужен серверный режим. Если с базой работают 2–3 человека, объём данных небольшой, а жалоб на скорость нет, переход только добавит затрат на лицензии и администрирование. Серверный вариант требует отдельного сервера (физического или виртуального), лицензии на сервер 1С и лицензии на СУБД, если используется коммерческий продукт.

Однозначные сигналы к переходу: пользователи регулярно видят ошибки «Конфликт блокировок при выполнении транзакции», регламентные операции (закрытие месяца, расчёт себестоимости) выполняются часами, база перестаёт помещаться в разумные окна обслуживания, а тестирование и исправление занимает всю ночь. Ещё один признак — необходимость разграничить права на уровне записей и организовать работу через веб-клиент или тонкий клиент по сети с нормальной скоростью.

Число активных пользователейБолее 5–10 одновременно

В файловом режиме блокировки таблиц становятся узким местом

Объём базыНесколько гигабайт и растёт

Файловая СУБД деградирует на больших объёмах, обслуживание затягивается

Ошибки блокировокПоявляются регулярно

Признак конкуренции за данные, которую файловый режим не умеет разруливать

Требования к отказоустойчивостиНужны бэкапы без остановки работы

СУБД позволяет делать горячие копии и журналирование

Что понадобится: сервер 1С, СУБД и лицензии

Для клиент-серверного режима нужны три компонента: сервер 1С:Предприятия, СУБД и клиентские лицензии. Сервер 1С устанавливается на отдельную машину (Windows или Linux) и управляет кластером информационных баз. СУБД может быть коммерческой (Microsoft SQL Server, Oracle, IBM Db2) или свободной (PostgreSQL в сборке, адаптированной под 1С). Для небольших и средних внедрений чаще всего выбирают PostgreSQL — он не требует лицензионных платежей и нормально справляется с нагрузкой при грамотной настройке.

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

Выбор СУБД

PostgreSQL

Бесплатный, хорошо подходит для малых и средних баз; требует специальной сборки и ручной настройки параметров

MS SQL Server

Удобное администрирование и интеграция с Windows-инфраструктурой; требует платных лицензий на сервер или ядра

Существующая корпоративная СУБД

Если в компании уже есть администратор Oracle или Db2 — разумно использовать её, чтобы не разводить зоопарк

Подготовка: бэкап, тестовая среда и проверка конфигурации

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

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

Отдельно проверьте саму конфигурацию. Большинство типовых конфигураций работают в обоих режимах без изменений, но самописные и сильно доработанные решения могут содержать код, привязанный к файловой специфике: прямые пути к файлам на локальных дисках, COM-обмены, выполняемые на клиенте, использование OLE. В клиент-серверном режиме часть кода исполняется на сервере, где нет доступа к локальным дискам пользователей и их COM-объектам.

Пошаговая процедура миграции

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

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

При создании базы в консоли кластера обратите внимание на параметры: для PostgreSQL обычно указывают создание базы данных при её отсутствии, а учётная запись СУБД должна иметь права на создание и изменение объектов. Для MS SQL Server базу данных часто создают заранее средствами Management Studio, а в консоли кластера только подключаются к ней.

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

Настройка после перехода

После успешной загрузки работа не заканчивается. Во-первых, настройте СУБД: параметры по умолчанию почти никогда не оптимальны для 1С. Для PostgreSQL критичны настройки памяти (shared_buffers, work_mem, effective_cache_size), для MS SQL Server — размер tempdb, модель восстановления и настройки параллелизма. Конкретные значения подбираются под объём данных и железо.

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

В-третьих, обновите списки баз у пользователей. Вместо пути к сетевой папке теперь указывается сервер 1С и имя информационной базы в кластере. Список можно распространить через общий файл ibases.v8i или групповые политики.

Проверка результата и типичные ошибки

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

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

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

Подключение пользователей
Норма

База открывается через сервер 1С, в списке указан кластер, а не папка

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

Пользователи по-прежнему заходят в файловую копию по сетевому пути

Одновременная работа
Норма

Несколько пользователей проводят документы параллельно без ошибок блокировок

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

Появляются ошибки «Конфликт блокировок» в простых сценариях

Отчётность и итоги
Норма

ОСВ и остатки совпадают с данными файловой базы

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

Расхождения в суммах — признак прерванной загрузки

Регламентные задания
Норма

Выполняются по расписанию, в журнале регистрации нет ошибок

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

Задания падают из-за недоступных путей или прав

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

Ограничения и альтернативы

Серверный режим — не единственный способ ускорить файловую базу. Если проблема только в скорости сети, иногда помогает перенос файловой базы на быстрые диски и отказ от работы по Wi-Fi. Если нужен доступ извне, файловую базу можно опубликовать на веб-сервере — это проще полноценного клиент-серверного контура, хотя и не снимает ограничений по блокировкам.

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

Итог

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

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

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

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

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

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

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

Нужно ли дорабатывать конфигурацию под серверный режим?

Типовые конфигурации обычно работают без изменений. Доработки могут потребоваться в самописных решениях: код, обращающийся к локальным файлам и COM-объектам на клиенте, в серверном режиме часто исполняется на сервере, где этих ресурсов нет. Проверяйте такие места на тестовом стенде.

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

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

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

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

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

Да, для работы сервера 1С:Предприятия требуется отдельная лицензия на сервер, плюс клиентские лицензии на пользователей. Если используется коммерческая СУБД вроде MS SQL Server, потребуются и её лицензии. Условия зависят от редакции продуктов, поэтому детали лучше уточнить у поставщика до покупки.