Создание серверной информационной базы 1С на SQL Server и PostgreSQL
Содержание
Серверную базу
1С создают в консоли кластера: Администрирование серверов 1С Предприятия → Кластеры → Локальный кластер → Информационные базы → Создать → Информационная база. В карточке указывают сервер СУБД, тип СУБД, имя базы данных и пользователя СУБД, ставят флажок «Создать базу данных в случае ее отсутствия». Перед этим на машине должны работать СУБД (Microsoft SQL Server или PostgreSQL для 1С) и служба сервера 1С:Предприятия той же версии, что и клиенты.
Типичная ситуация: в файловой базе работают уже 12 человек, отчёты формируются по пять минут, а файл 1Cv8.1CD перевалил за 20 ГБ. Пора переходить на клиент-серверный вариант: создать серверную базу 1С, перенести в неё данные и подключить пользователей. Вся процедура занимает один вечер, если СУБД и сервер подготовлены заранее.
1. Подготовка сервера и выбор СУБД для серверной базы
Клиент-серверная 1С состоит из трёх частей: СУБД хранит данные, сервер 1С:Предприятия выполняет код и запросы, клиенты подключаются к серверу 1С. Напрямую к СУБД клиент не обращается.
Что выбрать: SQL Server или PostgreSQL
| Параметр | Microsoft SQL Server | PostgreSQL для 1С |
|---|---|---|
| Лицензия СУБД | Платная (Express — бесплатно, с ограничением размера базы 10 ГБ) | Бесплатная сборка с патчами для 1С |
| ОС сервера | Windows | Windows или 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.
- Запустите
setup.exeот имени администратора. - В списке компонентов отметьте Сервер 1С:Предприятия 8, Администрирование сервера 1С:Предприятия и, если будет веб-доступ, Модули расширения веб-сервера.
- На шаге параметров сервера включите Установить 1С:Предприятие как сервис Windows .
- Оставьте пользователя
USR1CV8(создаётся автоматически) или укажите доменную учётную запись. Задайте ей пароль. - Завершите установку и проверьте в
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С Предприятия.
Добавляем центральный сервер
- Правой кнопкой по узлу Central 1C:Enterprise 8.3 servers → Создать → Центральный сервер 1С:Предприятия 8.3.
- В поле «Имя» укажите имя компьютера (не
localhost, если к базе будут подключаться с других машин). Порт — 1540. - Разверните сервер: внутри уже есть Локальный кластер на порту 1541, установщик создаёт его сам.
Создаём информационную базу
Раскройте кластер, правой кнопкой по Информационные базы → Создать → Информационная база. Заполните карточку:
| Поле | Что вписать |
|---|---|
| Имя | Короткое латиницей без пробелов: buh |
| Защищенное соединение | Выключено |
| Сервер баз данных | Для SQL Server — имя сервера или SRV\SQLEXPRESS; для PostgreSQL — localhost или SRV port=5432 |
| Тип СУБД | MSSQLServer или PostgreSQL |
| База данных | Имя базы в СУБД, удобно совпадает с именем в кластере: buh |
| Пользователь сервера БД | sql1c или postgres |
| Пароль пользователя БД | Пароль этого пользователя |
| Разрешить выдачу лицензий сервером 1С:Предприятия | Да, если используете серверные клиентские лицензии |
| Смещение дат | Для SQL Server — 2000 |
| Создать базу данных в случае ее отсутствия | Включить |
| Установить блокировку регламентных заданий | Включить на время переноса данных |
Нажмите ОК. Через несколько секунд база появится в списке, а в СУБД — новая пустая база данных.
Блокировка регламентных заданий нужна, если вы загружаете копию рабочей базы. Иначе обмены, загрузка курсов и отправка почты стартуют сразу из тестовой копии. Снимите флажок, когда база станет основной.
Альтернатива без консоли
Серверную базу можно создать и из окна запуска 1С: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. Поля те же, что в консоли. Способ удобен, когда консоль на рабочем месте не установлена.
Загрузка данных из файловой базы
Пустая серверная база не содержит конфигурации. Перенос делается через выгрузку:
- В файловой базе:
Конфигуратор → Администрирование → Выгрузить информационную базу→ файл.dt. - Добавьте серверную базу в список запуска (строка подключения
Srvr="SRV";Ref="buh";). - Откройте её в конфигураторе:
Администрирование → Загрузить информационную базу→ выберите.dt.
Загрузка заменяет всё содержимое базы и требует монопольного доступа. Для базы на 20 ГБ это от 30 минут до нескольких часов.
4. Права доступа и безопасность серверной базы
Свежий кластер без администраторов открыт любому, кто запустит консоль в сети. Закройте это в первую очередь.
Администраторы кластера
- В консоли: Локальный кластер → Администраторы → Создать → Администратор.
- Задайте имя и пароль либо привяжите пользователя Windows.
- После создания первого администратора консоль будет запрашивать логин при каждом подключении.
Отдельно можно завести администратора центрального сервера: он управляет агентом и списком кластеров. Пароли храните в менеджере паролей. Если пароль администратора кластера потерян, не пересоздавайте кластер: остановите службу в нерабочее время (все сеансы оборвутся) и восстановите файлы настроек кластера из резервной копии.
Пользователи информационной базы
Пользователей заводят в самой базе, не в кластере. В конфигураторе — Администрирование → Пользователи, в типовых конфигурациях в режиме предприятия — Администрирование → Настройки пользователей и прав. Для каждого задайте:
- 👤 имя и пароль 1С или аутентификацию операционной системы;
- 🛡️ профиль групп доступа или роли;
- 🚫 запрет интерактивного открытия внешних отчётов и обработок, если он не нужен.
Учётная запись службы и СУБД
- 🔐 Пользователю службы (
USR1CV8) нужны права «Вход в качестве службы» и полный доступ к каталогу кластераsrvinfo. - 🗄️ Логин СУБД для 1С не используйте для ручных запросов к базе: правка таблиц в обход платформы ломает данные.
- 🧱 Порт СУБД (1433 или 5432) открывайте только для сервера 1С, а не для всей сети.
5. Публикация серверной базы на веб-сервере
Веб-публикация нужна для работы через браузер, тонкого клиента по HTTP и для HTTP-сервисов (мобильные приложения, обмены). Требуется установленный компонент Модули расширения веб-сервера.
Через конфигуратор
- Запустите конфигуратор от имени администратора Windows, иначе публикация не сможет записать файлы веб-сервера.
- Откройте серверную базу и выберите
Администрирование → Публикация на веб-сервере. - Укажите имя публикации (оно станет частью адреса), веб-сервер (IIS или Apache) и каталог.
- Нажмите Опубликовать. Для 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С?
Сколько баз можно создать в одном кластере?
Как сделать резервную копию серверной базы?
pg_dump для PostgreSQL. Выгрузка в .dt тоже работает, но требует монопольного режима и на больших базах идёт долго.