Администрирование · 13 мин
Как создать клиент-серверную базу 1С
Как создать клиент-серверную базу 1С на MS SQL Server или PostgreSQL: требования, установка СУБД, создание базы через консоль кластера, настройка и типичные ошибки.
Клиент-серверный вариант работы 1С становится необходимым, когда с базой одновременно работают от 5–10 пользователей, объём данных растёт, а файловая база начинает «тормозить» и конфликтовать при одновременной записи. В этом режиме данные хранятся не в файле 1Cv8.1CD, а в полноценной СУБД — MS SQL Server, PostgreSQL, Oracle или IBM DB2, а между ней и клиентами стоит сервер 1С:Предприятия, который обрабатывает запросы.
Переход на клиент-серверную архитектуру — задача администрирования, а не разработки: конфигурация при этом не меняется. Но потребуется установить и связать три компонента: СУБД, сервер 1С:Предприятия и клиентские приложения. Ошибки на любом из этих этапов приводят либо к невозможности подключения, либо к падению производительности, поэтому порядок действий важно соблюдать последовательно.
Ниже разобран полный цикл: от выбора СУБД и подготовки сервера до создания базы, регистрации её в кластере и проверки работоспособности. Материал ориентирован на связку «1С + MS SQL Server» и «1С + PostgreSQL» как наиболее распространённые варианты.
Когда клиент-серверный режим действительно нужен
Файловый вариант работы корректно справляется с нагрузкой, пока в базе одновременно работает несколько пользователей и объём данных небольшой. Признаки того, что пора переходить на клиент-сервер: регулярные ошибки блокировок, долгое проведение документов при параллельной работе, размер файла 1Cv8.1CD свыше нескольких гигабайт, необходимость разграничить доступ на уровне СУБД и организовать централизованное резервное копирование.
Клиент-серверный режим даёт три ключевых преимущества: параллельную обработку запросов без файловых блокировок, штатные механизмы резервного копирования и восстановления СУБД, а также возможность разнести нагрузку между сервером 1С и сервером баз данных. Расплачиваться за это придётся более сложным администрированием и затратами на лицензии.
Важно понимать: если пользователей двое-трое и база небольшая, клиент-серверный вариант не ускорит работу, а иногда даже замедлит её за счёт сетевых обращений. Переход оправдан реальной нагрузкой, а не желанием «сделать как у больших».
Файловый режим начинает давать конфликты блокировок
Файл 1Cv8.1CD растёт, операции обслуживания длятся часами
Регулярные сообщения о блокировке данных при проведении
Нужно копирование средствами СУБД без остановки работы
Выбор СУБД и требования к серверу
1С:Предприятие поддерживает несколько СУБД. На практике чаще всего выбирают между MS SQL Server и PostgreSQL. MS SQL Server удобен администраторам Windows-инфраструктуры, но требует лицензий (кроме бесплатной Express-редакции с ограничениями по памяти и размеру базы). PostgreSQL бесплатен, а фирма «1С» и партнёры распространяют адаптированные сборки, однако его настройка требует аккуратной правки конфигурации.
Аппаратные требования зависят от нагрузки, но общие ориентиры таковы: серверу 1С критично важен объём оперативной памяти (рабочие процессы rphost могут занимать гигабайты на каждый), а серверу СУБД — быстрые диски, желательно SSD, и достаточный объём RAM для кэширования данных. Для небольшой организации оба компонента допустимо разместить на одной физической машине, для средних и крупных нагрузок их лучше разнести.
Обратите внимание на версии: платформа 1С:Предприятия поддерживает конкретные версии СУБД, перечень публикуется в системных требованиях на портале 1С. Установка неподдерживаемой версии SQL Server или PostgreSQL — частая причина отказа в создании базы.
Сравнение вариантов СУБД
Удобен в Windows-инфраструктуре, простое администрирование через Management Studio. Ограничение: стоимость лицензий; Express-редакция имеет лимиты по памяти и размеру базы.
Бесплатен, есть сборки, адаптированные под 1С. Ограничение: требует ручной настройки параметров (shared_buffers, effective_cache_size и др.), иначе производительность будет низкой.
Применяются в крупных внедрениях с существующей инфраструктурой этих вендоров. Для типовой задачи малого и среднего бизнеса избыточны.
Установка и подготовка СУБД
Для MS SQL Server установите сам сервер и среду SQL Server Management Studio. При установке выберите проверку подлинности в смешанном режиме (Windows и SQL Server) — серверу 1С потребуется учётная запись для подключения. Создайте отдельный логин (например, пользователя с правами на создание баз данных), не используйте для рабочей базы административную учётную запись sa.
Для PostgreSQL используйте сборку, рекомендованную для 1С: в ней уже учтены требования к локали и параметрам сортировки. После установки откройте файл postgresql.conf и задайте базовые параметры производительности: shared_buffers — порядка четверти объёма оперативной памяти сервера, effective_cache_size — около половины. Точные значения подбираются под конкретную нагрузку; настройки по умолчанию PostgreSQL рассчитаны на слабое оборудование и почти всегда требуют корректировки.
Проверьте, что служба СУБД запущена и принимает подключения: подключитесь из Management Studio или psql с созданной учётной записью. Если на сервере включён брандмауэр, откройте порт СУБД (по умолчанию 1433 для MS SQL, 5432 для PostgreSQL) для сервера 1С.
Установка сервера 1С:Предприятия
Дистрибутив сервера 1С:Предприятия скачивается с портала 1С в составе технологической платформы — выбирайте компоненту «Сервер 1С:Предприятия» для вашей разрядности (современные версии — 64-битные). При установке отметьте компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия» (консоль кластера).
После установки убедитесь, что служба «Агент сервера 1С:Предприятия» запущена. Агент слушает порт 1540, рабочие процессы занимают диапазон 1560–1591, менеджер кластера — 1541. Эти порты должны быть открыты между клиентами, сервером 1С и (если СУБД на другой машине) сервером баз данных.
Лицензии: для работы сервера требуется серверная лицензия 1С, а для пользователей — клиентские лицензии. Программные лицензии активируются через конфигуратор или консоль, аппаратные (USB-ключи HASP) устанавливаются на сервер. Без активной лицензии база создастся, но пользователи не смогут войти.
Создание базы: два рабочих способа
Существует два штатных пути создания клиент-серверной базы. Оба приводят к одинаковому результату, выбирайте удобный.
Способ 1: через консоль администрирования кластера
Откройте консоль «Администрирование серверов 1С:Предприятия», разверните узел вашего сервера, затем «Кластеры» → локальный кластер → «Информационные базы». В контекстном меню выберите «Создать» → «Информационная база». Заполните поля: имя базы (латиницей, без пробелов — оно станет именем базы в СУБД), тип СУБД, адрес сервера баз данных, имя пользователя и пароль СУБД. Оставьте флаг «Создать базу данных в случае её отсутствия» и снимите флаг блокировки регламентных заданий, если база рабочая.
После нажатия «ОК» сервер 1С подключится к СУБД и создаст пустую базу с нужной структурой. Далее зайдите в неё конфигуратором и загрузите конфигурацию — из dt-файла существующей базы или из файла поставки cf.
Способ 2: через конфигуратор при добавлении базы в список
В стартовом окне 1С нажмите «Добавить» → «Создание новой информационной базы» → выберите шаблон конфигурации или пустую базу. На шаге выбора варианта размещения укажите «На сервере 1С:Предприятия». Заполните параметры: имя кластера (адрес сервера 1С), имя базы, тип СУБД, адрес сервера БД и учётные данные. Конфигуратор создаст базу в СУБД и сразу загрузит выбранную конфигурацию.
- 1Установите СУБД и создайте учётную запись для подключения 1С
- 2Установите сервер 1С:Предприятия и убедитесь, что агент запущен
- 3Откройте консоль администрирования и создайте информационную базу с указанием СУБД и учётных данных
- 4Зайдите в созданную базу конфигуратором и загрузите dt-файл или конфигурацию поставки
- 5Назначьте пользователей и права, проверьте вход клиентским приложением
Перенос данных из файловой базы
Чаще всего клиент-серверная база создаётся не с нуля, а для миграции существующей файловой. Порядок такой: откройте файловую базу конфигуратором, выполните «Администрирование» → «Выгрузить информационную базу» — получите файл с расширением dt. Затем откройте конфигуратором пустую клиент-серверную базу и выполните «Загрузить информационную базу», указав dt-файл.
Перед выгрузкой обязательно завершите работу всех пользователей файловой базы и выполните тестирование и исправление — переносить накопленные ошибки в новую базу не стоит. После загрузки в клиент-серверную базу проверьте целостность данных: сверьте обороты по ключевым регистрам, количество документов за последние периоды, справочники.
Файл dt при загрузке полностью замещает содержимое базы. Никогда не загружайте dt в базу, где уже есть нужные данные, — они будут безвозвратно удалены.
Настройка после создания и проверка результата
После создания базы выполните базовую настройку. В консоли кластера проверьте свойства информационной базы: при необходимости включите блокировку регламентных заданий на время настройки, чтобы фоновые задачи не выполнялись до готовности. Настройте в СУБД план обслуживания: ежедневное полное или разностное резервное копирование и резервное копирование журнала транзакций (для MS SQL с полной моделью восстановления).
Для MS SQL рекомендуется перевести базу в модель восстановления, соответствующую вашим требованиям к бэкапам, настроить авторасширение файлов данных с разумным шагом и периодическое обновление статистики. Для PostgreSQL — настроить autovacuum и регулярный бэкап через pg_dump или физическое копирование.
Проверка результата: войдите в базу тонким клиентом с рабочей станции пользователя, откройте несколько типовых документов и отчётов, запустите параллельно второй сеанс и убедитесь, что блокировок нет. В консоли кластера на вкладке «Сеансы» должны отображаться активные подключения.
Как проверить, что база работает корректно
Информационная база отображается без ошибок, сеансы создаются
Ошибка соединения с СУБД при открытии свойств базы
Тонкий клиент подключается за несколько секунд
Долгое ожидание или ошибка «информационная база не обнаружена»
Два пользователя одновременно проводят документы без конфликтов
Ошибки блокировок при простых операциях
План обслуживания СУБД выполняется, файл бэкапа создаётся
Бэкап падает с ошибкой или файл нулевого размера
Типичные ошибки и ограничения
Самая частая проблема — несовпадение версий платформы на сервере и у клиентов: клиент не может подключиться к базе, если его версия платформы отличается от серверной. Держите версии синхронизированными. Вторая типичная ошибка — создание базы в СУБД вручную с неправильным collation (параметрами сортировки): для MS SQL требуется Cyrillic_General_CI_AS, иначе база не создастся или будет работать некорректно.
Третья группа ошибок — сетевая: закрытые порты 1540–1591 на сервере 1С или порт СУБД, неверно указанное имя сервера (лучше использовать полное DNS-имя или IP, проверив разрешение имён). Четвёртая — недостаток прав учётной записи СУБД: ей нужны права на создание базы при первичном создании и полные права на базу при штатной работе.
Ограничения, о которых стоит помнить: клиент-серверный режим не ускоряет плохо написанный код конфигурации и не заменяет регламентное обслуживание СУБД. Без регулярных бэкапов и обновления статистики производительность со временем деградирует независимо от мощности сервера.
Частые вопросы
Можно ли разместить сервер 1С и СУБД на одном компьютере?
Да, для небольших нагрузок это допустимый и распространённый вариант. Главное — обеспечить достаточный объём оперативной памяти, так как и рабочие процессы 1С (rphost), и СУБД активно её потребляют. При росте нагрузки компоненты разносят на разные серверы.
Нужно ли менять конфигурацию при переходе на клиент-серверный режим?
Нет, типовые конфигурации работают в обоих режимах без доработки. Переносится только содержимое базы через выгрузку-загрузку dt-файла. Исключение — самописные решения, где могли использоваться особенности файлового режима, но это редкость.
Какая СУБД лучше для небольшой компании?
Если бюджет ограничен — PostgreSQL в сборке для 1С: он бесплатен и при корректной настройке показывает хорошую производительность. Если в компании уже есть лицензии MS SQL Server и администратор с опытом его обслуживания, проще использовать его.
Почему после создания базы пользователи не могут войти?
Проверьте три вещи: совпадают ли версии платформы на сервере и клиенте, активированы ли лицензии (серверная и клиентские), открыты ли порты 1540–1591 на сервере 1С. Также убедитесь, что пользователь создан в базе и ему назначены роли.
Можно ли вернуться с клиент-серверного режима обратно на файловый?
Да: выгрузите базу в dt-файл через конфигуратор, создайте новую файловую базу и загрузите в неё этот файл. Учтите, что при большом объёме данных файловый режим снова столкнётся с ограничениями, из-за которых выполнялся переход.
Как организовать резервное копирование клиент-серверной базы?
Штатный путь — средствами СУБД: план обслуживания в MS SQL Server или pg_dump/физическое копирование в PostgreSQL. Выгрузка dt остаётся инструментом переноса и архивации перед обновлениями, но не заменяет регулярные бэкапы СУБД, которые можно выполнять без остановки работы пользователей.
Что важно запомнить
Клиент-серверная база 1С создаётся связкой «СУБД + сервер 1С + консоль кластера»: установите СУБД, поднимите сервер 1С:Предприятия, создайте базу через консоль или конфигуратор и загрузите данные из dt-файла. Базу в СУБД вручную не создавайте, версии платформы держите одинаковыми, а резервное копирование настройте средствами СУБД сразу после запуска.