Создание серверной информационной базы 1С на SQL Server и PostgreSQL

· 9 мин

Содержание

Серверную базу 1С создают в консоли кластера: Администрирование серверов 1С Предприятия → Кластеры → Локальный кластер → Информационные базы → Создать → Информационная база. В карточке указывают сервер СУБД, тип СУБД, имя базы данных и пользователя СУБД, ставят флажок «Создать базу данных в случае ее отсутствия». Перед этим на машине должны работать СУБД (Microsoft SQL Server или PostgreSQL для 1С) и служба сервера 1С:Предприятия той же версии, что и клиенты.

Типичная ситуация: в файловой базе работают уже 12 человек, отчёты формируются по пять минут, а файл 1Cv8.1CD перевалил за 20 ГБ. Пора переходить на клиент-серверный вариант: создать серверную базу 1С, перенести в неё данные и подключить пользователей. Вся процедура занимает один вечер, если СУБД и сервер подготовлены заранее.

1. Подготовка сервера и выбор СУБД для серверной базы

Клиент-серверная 1С состоит из трёх частей: СУБД хранит данные, сервер 1С:Предприятия выполняет код и запросы, клиенты подключаются к серверу 1С. Напрямую к СУБД клиент не обращается.

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

ПараметрMicrosoft SQL ServerPostgreSQL для 1С
Лицензия СУБДПлатная (Express — бесплатно, с ограничением размера базы 10 ГБ)Бесплатная сборка с патчами для 1С
ОС сервераWindowsWindows или Linux
ОсобенностьПривычное администрирование через SSMSНужна именно сборка для 1С (от фирмы 1С или Postgres Pro для 1С), обычный PostgreSQL не подойдёт
Кому подходитКомпании с Windows-инфраструктурой и лицензиямиТем, кто экономит на лицензиях или работает на Linux

Ванильный PostgreSQL из репозитория дистрибутива 1С не поддерживает: нужна сборка с патчами. Без них база либо не создастся, либо будет работать с ошибками.

Минимальная подготовка машины

  • 🖥️ Windows Server 2016 или новее (или поддерживаемый Linux).
  • 💾 Отдельный диск или хотя бы раздел под файлы СУБД. Объём — с запасом в 2–3 раза от текущей базы.
  • 🧠 ОЗУ: для 10–20 пользователей ориентир 16 ГБ на машину, где стоят и СУБД, и сервер 1С.
  • 🔢 Статический IP-адрес и имя сервера, которое резолвится у всех клиентов.
  • 🔑 Лицензия на сервер 1С:Предприятия (без неё сервер базу не запустит) и клиентские лицензии.

Настройка СУБД перед созданием базы

SQL Server. При установке выберите смешанную проверку подлинности (SQL Server и Windows). Создайте логин для 1С, например sql1c, с ролью dbcreator. Тогда сервер 1С сам создаст базу. Роль sysadmin для рабочей базы избыточна. Сопоставление (collation) сервера — Cyrillic_General_CI_AS.

На машине с сервером 1С нужен клиентский драйвер SQL Server. Если СУБД стоит на той же машине, драйвер уже есть.

PostgreSQL. Установите сборку для 1С, задайте пароль пользователю postgres и проверьте, что служба слушает порт 5432. Базу вручную создавать не обязательно: 1С сделает это сама с правильными параметрами.

2. Установка сервера 1С:Предприятия

Сервер ставится из того же дистрибутива платформы, что и клиенты, — полного установщика для Windows.

  1. Запустите setup.exe от имени администратора.
  2. В списке компонентов отметьте Сервер 1С:Предприятия 8, Администрирование сервера 1С:Предприятия и, если будет веб-доступ, Модули расширения веб-сервера.
  3. На шаге параметров сервера включите Установить 1С:Предприятие как сервис Windows .
  4. Оставьте пользователя USR1CV8 (создаётся автоматически) или укажите доменную учётную запись. Задайте ей пароль.
  5. Завершите установку и проверьте в services.msc, что служба Агент сервера 1С:Предприятия 8.3 запущена.

Версия сервера и версия клиентов должны совпадать до последней цифры. Если сервер 8.3.24.1586, а у бухгалтера стоит 8.3.24.1548, подключиться не получится.

Порты, которые нужно открыть

ПортКто слушает
1540Агент сервера (ragent)
1541Менеджер кластера
1560–1591Рабочие процессы (диапазон задаётся в свойствах рабочего сервера)
1545Сервер администрирования ras, если управляете кластером через rac

Откройте эти порты во входящих правилах брандмауэра Windows на сервере. Клиенту нужны 1540, 1541 и весь диапазон рабочих процессов.

Регистрация консоли администрирования

Консоль кластера — оснастка MMC. После установки или обновления платформы она часто не открывается, пока не зарегистрировать библиотеку той же версии. Запустите командную строку от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"

Номер версии в пути подставьте свой. Если на машине несколько версий платформы, регистрируйте radmin.dll той версии, что и служба сервера: иначе консоль подключится с ошибкой несовпадения версий.

3. Создание серверной базы 1С в консоли кластера

Откройте Пуск → 1С Предприятие 8 → Администрирование серверов 1С Предприятия.

Добавляем центральный сервер

  1. Правой кнопкой по узлу Central 1C:Enterprise 8.3 servers → Создать → Центральный сервер 1С:Предприятия 8.3.
  2. В поле «Имя» укажите имя компьютера (не localhost, если к базе будут подключаться с других машин). Порт — 1540.
  3. Разверните сервер: внутри уже есть Локальный кластер на порту 1541, установщик создаёт его сам.

Создаём информационную базу

Раскройте кластер, правой кнопкой по Информационные базы → Создать → Информационная база. Заполните карточку:

ПолеЧто вписать
ИмяКороткое латиницей без пробелов: buh
Защищенное соединениеВыключено
Сервер баз данныхДля SQL Server — имя сервера или SRV\SQLEXPRESS; для PostgreSQL — localhost или SRV port=5432
Тип СУБДMSSQLServer или PostgreSQL
База данныхИмя базы в СУБД, удобно совпадает с именем в кластере: buh
Пользователь сервера БДsql1c или postgres
Пароль пользователя БДПароль этого пользователя
Разрешить выдачу лицензий сервером 1С:ПредприятияДа, если используете серверные клиентские лицензии
Смещение датДля SQL Server — 2000
Создать базу данных в случае ее отсутствияВключить
Установить блокировку регламентных заданийВключить на время переноса данных

Нажмите ОК. Через несколько секунд база появится в списке, а в СУБД — новая пустая база данных.

Блокировка регламентных заданий нужна, если вы загружаете копию рабочей базы. Иначе обмены, загрузка курсов и отправка почты стартуют сразу из тестовой копии. Снимите флажок, когда база станет основной.

Альтернатива без консоли

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

Загрузка данных из файловой базы

Пустая серверная база не содержит конфигурации. Перенос делается через выгрузку:

  1. В файловой базе: Конфигуратор → Администрирование → Выгрузить информационную базу → файл .dt.
  2. Добавьте серверную базу в список запуска (строка подключения Srvr="SRV";Ref="buh";).
  3. Откройте её в конфигураторе: Администрирование → Загрузить информационную базу → выберите .dt.

Загрузка заменяет всё содержимое базы и требует монопольного доступа. Для базы на 20 ГБ это от 30 минут до нескольких часов.

4. Права доступа и безопасность серверной базы

Свежий кластер без администраторов открыт любому, кто запустит консоль в сети. Закройте это в первую очередь.

Администраторы кластера

  1. В консоли: Локальный кластер → Администраторы → Создать → Администратор.
  2. Задайте имя и пароль либо привяжите пользователя Windows.
  3. После создания первого администратора консоль будет запрашивать логин при каждом подключении.

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

Пользователи информационной базы

Пользователей заводят в самой базе, не в кластере. В конфигураторе — Администрирование → Пользователи, в типовых конфигурациях в режиме предприятия — Администрирование → Настройки пользователей и прав. Для каждого задайте:

  • 👤 имя и пароль 1С или аутентификацию операционной системы;
  • 🛡️ профиль групп доступа или роли;
  • 🚫 запрет интерактивного открытия внешних отчётов и обработок, если он не нужен.

Учётная запись службы и СУБД

  • 🔐 Пользователю службы (USR1CV8) нужны права «Вход в качестве службы» и полный доступ к каталогу кластера srvinfo.
  • 🗄️ Логин СУБД для 1С не используйте для ручных запросов к базе: правка таблиц в обход платформы ломает данные.
  • 🧱 Порт СУБД (1433 или 5432) открывайте только для сервера 1С, а не для всей сети.

5. Публикация серверной базы на веб-сервере

Веб-публикация нужна для работы через браузер, тонкого клиента по HTTP и для HTTP-сервисов (мобильные приложения, обмены). Требуется установленный компонент Модули расширения веб-сервера.

Через конфигуратор

  1. Запустите конфигуратор от имени администратора Windows, иначе публикация не сможет записать файлы веб-сервера.
  2. Откройте серверную базу и выберите Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации (оно станет частью адреса), веб-сервер (IIS или Apache) и каталог.
  4. Нажмите Опубликовать. Для Apache конфигуратор допишет блок в httpd.conf, Apache нужно перезапустить.

Командой webinst

Утилита лежит в каталоге bin платформы. Пример публикации на Apache 2.4:

webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=SRV;Ref=buh;" -confPath "C:\Apache24\conf\httpd.conf"

Для IIS вместо -apache24 и -confPath укажите ключ -iis. После публикации база открывается по адресу http://SRV/buh.

Для IIS заранее включите в компонентах Windows роли «Расширения ISAPI» и «Фильтры ISAPI». Без них публикация пройдёт, а адрес вернёт ошибку 404 или 500.

Наружу в интернет публикуйте только по HTTPS и с паролями у всех пользователей. Базу с пустым паролем администратора выставлять в сеть нельзя.

6. Ошибки при создании серверной базы и их причины

Большинство проблем видно сразу по тексту ошибки. Разберите свой симптом:

Диагностика: выберите симптом

Если база создалась, но работает медленно

  • 🐢 СУБД и сервер 1С на разных машинах с медленной сетью между ними — каждая операция ждёт сеть. Для небольших компаний проще держать их на одной машине.
  • 📉 Для SQL Server не настроены регламентные задачи: перестроение индексов и обновление статистики. Настройте план обслуживания на ночь.
  • 📈 Модель восстановления Full без резервного копирования журнала: файл журнала разрастается до размеров диска. Либо делайте бэкап журнала, либо переключите базу в Simple.
  • 🧹 В PostgreSQL не настроен регулярный VACUUM ANALYZE — запросы постепенно замедляются.

7. Частые вопросы о серверных базах 1С

Можно ли создать серверную базу без лицензии на сервер 1С?
Нет. Без лицензии на сервер 1С:Предприятия рабочие процессы не запустят базу. Для пробы подходит только учебная или ознакомительная поставка с ограничениями.
Сколько баз можно создать в одном кластере?
Жёсткого ограничения нет. Обычно в одном кластере держат рабочие, тестовые и копии баз; упирается всё в память и диск сервера.
Как сделать резервную копию серверной базы?
Средствами СУБД: план обслуживания SQL Server или pg_dump для PostgreSQL. Выгрузка в .dt тоже работает, но требует монопольного режима и на больших базах идёт долго.
Как удалить серверную базу?
В консоли кластера: правой кнопкой по базе → «Удалить». Платформа предложит оставить базу в СУБД, удалить её или очистить. Перед удалением убедитесь, что есть свежая копия.
Можно ли поставить СУБД и сервер 1С на разные компьютеры?
Можно. В поле «Сервер баз данных» тогда указывают имя машины с СУБД. Между серверами нужна быстрая сеть, иначе база будет тормозить.