Новая информационная база 1С: кластер, СУБД и первый запуск
Содержание
Создать базу на сервере 1С Предприятие проще всего так: откройте консоль администрирования серверов 1С, раскройте кластер, нажмите правой кнопкой на Информационные базы → Создать → Информационная база, укажите СУБД, сервер баз данных и поставьте флажок Создать базу данных в случае ее отсутствия. Через 10–30 секунд в списке появится пустая база, в которую остаётся загрузить конфигурацию из .cf или выгрузку .dt.
Сложности обычно начинаются раньше: сервер СУБД не принимает подключение, у пользователя SQL нет прав на создание базы, а лицензия сервера не та. Ниже — порядок, при котором база создаётся с первого раза, и отдельно файловый вариант для небольших компаний.
Что подготовить до создания базы
Клиент-серверная база 1С состоит из двух частей: кластера серверов 1С (служба агента и рабочие процессы) и базы данных в СУБД. Пока обе части не работают, создавать нечего.
Минимальный набор компонентов
- 🖥️ Сервер 1С:Предприятия 8.3 нужной разрядности, установленный как служба. Служба называется
1C:Enterprise 8.3 Server Agentи по умолчанию работает от пользователяUSR1CV8. - 🗄️ СУБД: MS SQL Server или PostgreSQL. Для PostgreSQL берите сборку, адаптированную для 1С (от фирмы 1С или Postgres Pro). Обычная «ванильная» сборка без патчей с типовыми конфигурациями работать не будет.
- 🔑 Лицензия на сервер 1С — программная или аппаратный ключ. Без неё рабочий процесс не принимает подключения пользователей.
- 🛠️ Консоль администрирования или утилиты
ras/racдля управления кластером.
Сетевые порты
| Порт | Кто слушает | Зачем |
|---|---|---|
| 1540 | Агент сервера | Первое подключение клиента и консоли |
| 1541 | Менеджер кластера | Распределение соединений |
| 1560–1591 | Рабочие процессы | Работа сеансов пользователей |
| 1545 | ras | Подключение утилиты rac |
| 1433 | MS SQL Server | Подключение сервера 1С к СУБД |
| 5432 | PostgreSQL | Подключение сервера 1С к СУБД |
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, а не информационной базы. Если между клиентами и сервером стоит межсетевой экран, откройте все порты из таблицы, иначе база создастся, но пользователи к ней не подключатся.
Сервер 1С и СУБД можно ставить на одну машину. Для 10–30 пользователей это нормальная схема: меньше сетевых задержек и проще администрировать.
Какую СУБД выбрать
| СУБД | Когда подходит | На что обратить внимание |
|---|---|---|
| MS SQL Server | Windows-инфраструктура, уже есть лицензия | Express ограничен размером базы 10 ГБ — для рабочей базы мал |
| PostgreSQL | Linux или желание обойтись без платной СУБД | Только сборка для 1С; нужна настройка памяти под объём базы |
| Файловый вариант | До 5–10 одновременных пользователей | Без СУБД и сервера 1С, но хуже переносит нагрузку и сбои сети |
Подключение сервера 1С к СУБД: учётная запись и права
Отдельно «регистрировать» сервер СУБД в кластере не нужно. Связь задаётся в свойствах каждой информационной базы: имя сервера СУБД, тип СУБД, логин и пароль. Поэтому на этом шаге задача — подготовить СУБД так, чтобы сервер 1С мог в неё войти.
MS SQL Server
- В SQL Server Management Studio создайте логин с проверкой подлинности SQL Server, например
user1c. - Дайте ему серверную роль
dbcreator— этого хватит, чтобы 1С сама создала базу. После создания пользователь станет владельцем базы. - Убедитесь, что в свойствах экземпляра включён смешанный режим проверки подлинности (SQL Server и Windows).
- Проверьте, что протокол TCP/IP включён в SQL Server Configuration Manager и служба SQL перезапущена после включения.
Давать 1С учётку sa — частая, но плохая практика. Пароль sa окажется в свойствах базы, и любой администратор кластера его увидит.
Для имени сервера используйте то же написание, которое работает при подключении из Management Studio: SRV-SQL для экземпляра по умолчанию или SRV-SQL\SQL2019 для именованного.
PostgreSQL
- Задайте пароль пользователю
postgresили создайте отдельную роль с правом создавать базы. - В
pg_hba.confразрешите подключение с адреса сервера 1С. Если 1С и PostgreSQL на одной машине, достаточно строки для127.0.0.1. - В
postgresql.confпроверьте параметрlisten_addresses— при подключении по сети он не должен ограничиватьсяlocalhost. - Перезапустите службу PostgreSQL. Перезапуск обрывает соединения всех баз на этом сервере СУБД, поэтому на рабочем сервере делайте его вне рабочего времени.
-- пример: отдельная роль для сервера 1С в PostgreSQL
CREATE ROLE user1c WITH LOGIN CREATEDB PASSWORD 'СложныйПароль';
Создание информационной базы в консоли кластера
Консоль администрирования серверов 1С ставится вместе с платформой (компонент «Администрирование сервера 1С:Предприятия»). Если консоль не открывается или пишет, что не может создать объект, зарегистрируйте библиотеку radmin.dll нужной версии платформы от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой — он должен совпадать с версией сервера 1С.
Пошагово
- Запустите консоль, на узле
Central 1C:Enterprise 8.3 serversвыберитеСоздать→Центральный сервер 1С:Предприятия 8.3и укажите имя сервера 1С и порт агента1540. - Раскройте сервер →
Кластеры→ кластер (обычно «Локальный кластер»). - На узле
Информационные базынажмите правой кнопкой →Создать→Информационная база. - Заполните поля:
- Имя — латиницей, без пробелов, например
buh_ooo_romashka. По нему пользователи подключаются к базе. - Описание — по-русски, чтобы администратор понимал назначение.
- Защищенное соединение — оставьте «выключено», если не настроено шифрование.
- Сервер баз данных — имя сервера или экземпляра СУБД.
- Тип СУБД — MSSQLServer или PostgreSQL.
- База данных — имя базы в СУБД, удобно совпадающее с именем в кластере.
- Пользователь сервера БД и Пароль — учётка из предыдущего раздела.
- Смещение дат — для MS SQL ставьте
2000, для PostgreSQL оставьте0. - Создать базу данных в случае ее отсутствия — флажок обязателен для новой базы.
- Имя — латиницей, без пробелов, например
- Нажмите
OK. Если СУБД доступна, база появится в списке.
Флажок создания базы не перезаписывает существующую базу в СУБД: если имя занято, 1С подключится к уже имеющимся данным. Перед созданием проверьте в СУБД, что базы с таким именем нет, иначе вы подключите чужие таблицы.
Альтернатива: утилита rac
На Linux или при массовом создании баз удобнее командная строка. Сначала запустите сервер администрирования ras (порт 1545), затем:
rac cluster list
rac infobase --cluster=<UUID-кластера> create --create-database \
--name=buh_ooo_romashka --dbms=PostgreSQL --db-server=localhost \
--db-name=buh_ooo_romashka --locale=ru --db-user=user1c --db-pwd='Пароль' \
--license-distribution=allow
UUID кластера берите из вывода rac cluster list. Если на кластере есть администратор, добавьте параметры --cluster-user и --cluster-pwd. Полный список параметров для вашей версии платформы покажет rac help infobase.
Через окно запуска 1С
Третий путь — без консоли, прямо со стороны клиента. В окне запуска нажмите Добавить → Создание новой информационной базы, выберите вариант На сервере 1С:Предприятия и заполните те же поля: кластер, имя базы, СУБД, логин и пароль SQL. Мастер сам зарегистрирует базу в кластере и добавит её в список запуска на этом компьютере. Способ удобен, когда у вас нет доступа к консоли, но права администратора кластера всё равно понадобятся, если они заданы.
Файловая база: создание за две минуты
Файловый вариант не требует ни сервера 1С, ни SQL. База — это один файл 1Cv8.1CD в папке.
- В окне запуска:
Добавить→Создание новой информационной базы. - Выберите шаблон конфигурации или вариант без конфигурации.
- Укажите вариант расположения
На данном компьютере или на компьютере в локальной сетии папку, напримерD:\Bases\Buh. - Язык (страна) — Русский (Россия), нажмите
Готово.
Тот же результат даёт командная строка:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh"
Для общей сетевой папки выдайте пользователям права на чтение и запись в каталог базы. Права только на файл не хватит: при работе 1С создаёт рядом служебные файлы.
Шаблон конфигурации и загрузка данных
Пустая база без конфигурации бесполезна. Наполнить её можно тремя способами.
| Способ | Что получите | Когда выбирать |
|---|---|---|
| Шаблон при создании | Чистую типовую конфигурацию | Новая организация, учёт с нуля |
Загрузка .cf | Конфигурацию без данных | Есть доработанная конфигурация, данных нет |
Загрузка .dt | Конфигурацию вместе с данными | Перенос рабочей базы или тестовая копия |
Шаблоны
Шаблоны появляются в списке мастера после установки дистрибутива конфигурации (файл setup.exe из пакета обновления) в каталог шаблонов. Для серверной базы шаблон в окне запуска выбирается так же, как для файловой: мастер создаст базу в кластере и сразу загрузит конфигурацию.
Загрузка .dt и .cf
- Откройте новую базу в режиме
Конфигуратор. - Для выгрузки с данными:
Администрирование→Загрузить информационную базу, выберите файл.dt. - Для конфигурации без данных:
Конфигурация→Открыть конфигурацию, затемКонфигурация→Загрузить конфигурацию из файла, выберите.cfи согласитесь обновить конфигурацию базы данных.
Загрузка .dt полностью заменяет содержимое базы, в которую вы её загружаете. Проверьте заголовок окна Конфигуратора — что открыта именно новая база, а не рабочая.
Загрузка .dt требует монопольного доступа, но в только что созданной базе других сеансов нет, так что ограничение не мешает.
Права, лицензии и регламентные задания новой базы
После создания база открыта для всех: в ней нет пользователей, и любой, кто знает имя, войдёт без пароля. Закройте это сразу.
Пользователи
- В Конфигураторе откройте
Администрирование→Пользователи. - Первым создайте пользователя с ролью
Полные права(илиАдминистраторв зависимости от конфигурации) и паролем. Пока такого пользователя нет, 1С не даст создавать остальных с ограниченными ролями. - Остальных пользователей удобнее заводить уже в режиме 1С:Предприятие, в разделе
Администрирование→Настройки пользователей и прав.
Параметры базы в кластере
В свойствах базы в консоли проверьте ещё три флажка:
- 🔒 Блокировка регламентных заданий — включите для тестовых копий. Иначе копия начнёт загружать банковские выписки, отправлять отчёты и запускать обмены от имени рабочей организации.
- 📜 Разрешить выдачу лицензий сервером 1С:Предприятия — «Да», если лицензии клиентов установлены на сервере. Если «Нет», каждый пользователь должен иметь свою локальную лицензию.
- 🛡️ Администраторы кластера — если их нет, любой пользователь сети с консолью может удалить базу. Назначьте администратора на узле
Администраторыкластера.
Служебная учётная запись
Пользователь, от которого работает служба агента, должен иметь доступ к каталогам кластера (srvinfo) и к сетевым ресурсам, которые использует база: папкам обмена, файлам загрузки. Если вы сменили учётку службы на доменную, выдайте ей права на srvinfo до перезапуска службы, иначе кластер не стартует.
Как проверить, что база работает
Создание в консоли ещё не значит, что пользователи смогут войти. Проверьте базу полностью.
Для подключения с клиентских рабочих мест добавьте базу в окне запуска: Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия, где кластер — имя сервера 1С, а имя базы — значение поля «Имя» из консоли. Если сервер слушает нестандартный порт, укажите его через двоеточие: srv1c:2541.
Если база не создаётся
| Что видите | Что проверить |
|---|---|
| Ошибка подключения к серверу СУБД | Имя экземпляра, порт 1433/5432, TCP/IP в SQL, pg_hba.conf |
| Ошибка авторизации в СУБД | Логин и пароль; смешанный режим проверки подлинности в MS SQL |
| Нет прав на создание базы | Роль dbcreator (MS SQL) или CREATEDB (PostgreSQL) |
| База создалась, клиенты не подключаются | Порты 1540, 1541, 1560–1591 в межсетевом экране |
| Клиенты подключаются, но нет лицензии | Лицензия сервера 1С и флажок выдачи клиентских лицензий |
| Консоль не запускается | Регистрация radmin.dll той же версии, что сервер |
Если всё перечисленное в порядке, а база так и не создаётся, создайте её вручную в СУБД пустой, а в консоли зарегистрируйте без флажка создания базы. 1С сама создаст таблицы при первом входе в Конфигуратор. Для PostgreSQL в этом случае создавайте её в кодировке UTF8.
Частые вопросы
Можно ли создать несколько баз в одной базе данных SQL?
Как перенести файловую базу на сервер?
.dt через Конфигуратор, создайте пустую базу на сервере и загрузите в неё этот файл. Перед выгрузкой попросите пользователей выйти — потребуется монопольный доступ.