Новая информационная база 1С: кластер, СУБД и первый запуск

· 10 мин

Содержание

Создать базу на сервере 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Рабочие процессыРабота сеансов пользователей
1545rasПодключение утилиты rac
1433MS SQL ServerПодключение сервера 1С к СУБД
5432PostgreSQLПодключение сервера 1С к СУБД

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

Сервер 1С и СУБД можно ставить на одну машину. Для 10–30 пользователей это нормальная схема: меньше сетевых задержек и проще администрировать.

Какую СУБД выбрать

СУБДКогда подходитНа что обратить внимание
MS SQL ServerWindows-инфраструктура, уже есть лицензияExpress ограничен размером базы 10 ГБ — для рабочей базы мал
PostgreSQLLinux или желание обойтись без платной СУБДТолько сборка для 1С; нужна настройка памяти под объём базы
Файловый вариантДо 5–10 одновременных пользователейБез СУБД и сервера 1С, но хуже переносит нагрузку и сбои сети
Какой вариант базы вам нужен?

Подключение сервера 1С к СУБД: учётная запись и права

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

MS SQL Server

  1. В SQL Server Management Studio создайте логин с проверкой подлинности SQL Server, например user1c.
  2. Дайте ему серверную роль dbcreator — этого хватит, чтобы 1С сама создала базу. После создания пользователь станет владельцем базы.
  3. Убедитесь, что в свойствах экземпляра включён смешанный режим проверки подлинности (SQL Server и Windows).
  4. Проверьте, что протокол TCP/IP включён в SQL Server Configuration Manager и служба SQL перезапущена после включения.

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

Для имени сервера используйте то же написание, которое работает при подключении из Management Studio: SRV-SQL для экземпляра по умолчанию или SRV-SQL\SQL2019 для именованного.

PostgreSQL

  1. Задайте пароль пользователю postgres или создайте отдельную роль с правом создавать базы.
  2. В pg_hba.conf разрешите подключение с адреса сервера 1С. Если 1С и PostgreSQL на одной машине, достаточно строки для 127.0.0.1.
  3. В postgresql.conf проверьте параметр listen_addresses — при подключении по сети он не должен ограничиваться localhost.
  4. Перезапустите службу 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С.

Пошагово

  1. Запустите консоль, на узле Central 1C:Enterprise 8.3 servers выберите Создать → Центральный сервер 1С:Предприятия 8.3 и укажите имя сервера 1С и порт агента 1540.
  2. Раскройте сервер → Кластеры → кластер (обычно «Локальный кластер»).
  3. На узле Информационные базы нажмите правой кнопкой → Создать → Информационная база.
  4. Заполните поля:
    • Имя — латиницей, без пробелов, например buh_ooo_romashka. По нему пользователи подключаются к базе.
    • Описание — по-русски, чтобы администратор понимал назначение.
    • Защищенное соединение — оставьте «выключено», если не настроено шифрование.
    • Сервер баз данных — имя сервера или экземпляра СУБД.
    • Тип СУБД — MSSQLServer или PostgreSQL.
    • База данных — имя базы в СУБД, удобно совпадающее с именем в кластере.
    • Пользователь сервера БД и Пароль — учётка из предыдущего раздела.
    • Смещение дат — для MS SQL ставьте 2000, для PostgreSQL оставьте 0.
    • Создать базу данных в случае ее отсутствия — флажок обязателен для новой базы.
  5. Нажмите 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 в папке.

  1. В окне запуска: Добавить → Создание новой информационной базы.
  2. Выберите шаблон конфигурации или вариант без конфигурации.
  3. Укажите вариант расположения На данном компьютере или на компьютере в локальной сети и папку, например D:\Bases\Buh.
  4. Язык (страна) — Русский (Россия), нажмите Готово.

Тот же результат даёт командная строка:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh"

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

Шаблон конфигурации и загрузка данных

Пустая база без конфигурации бесполезна. Наполнить её можно тремя способами.

СпособЧто получитеКогда выбирать
Шаблон при созданииЧистую типовую конфигурациюНовая организация, учёт с нуля
Загрузка .cfКонфигурацию без данныхЕсть доработанная конфигурация, данных нет
Загрузка .dtКонфигурацию вместе с даннымиПеренос рабочей базы или тестовая копия

Шаблоны

Шаблоны появляются в списке мастера после установки дистрибутива конфигурации (файл setup.exe из пакета обновления) в каталог шаблонов. Для серверной базы шаблон в окне запуска выбирается так же, как для файловой: мастер создаст базу в кластере и сразу загрузит конфигурацию.

Загрузка .dt и .cf

  1. Откройте новую базу в режиме Конфигуратор.
  2. Для выгрузки с данными: Администрирование → Загрузить информационную базу, выберите файл .dt.
  3. Для конфигурации без данных: Конфигурация → Открыть конфигурацию, затем Конфигурация → Загрузить конфигурацию из файла, выберите .cf и согласитесь обновить конфигурацию базы данных.

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

Загрузка .dt требует монопольного доступа, но в только что созданной базе других сеансов нет, так что ограничение не мешает.

Права, лицензии и регламентные задания новой базы

После создания база открыта для всех: в ней нет пользователей, и любой, кто знает имя, войдёт без пароля. Закройте это сразу.

Пользователи

  1. В Конфигураторе откройте Администрирование → Пользователи.
  2. Первым создайте пользователя с ролью Полные права (или Администратор в зависимости от конфигурации) и паролем. Пока такого пользователя нет, 1С не даст создавать остальных с ограниченными ролями.
  3. Остальных пользователей удобнее заводить уже в режиме 1С:Предприятие, в разделе Администрирование → Настройки пользователей и прав.

Параметры базы в кластере

В свойствах базы в консоли проверьте ещё три флажка:

  • 🔒 Блокировка регламентных заданий — включите для тестовых копий. Иначе копия начнёт загружать банковские выписки, отправлять отчёты и запускать обмены от имени рабочей организации.
  • 📜 Разрешить выдачу лицензий сервером 1С:Предприятия — «Да», если лицензии клиентов установлены на сервере. Если «Нет», каждый пользователь должен иметь свою локальную лицензию.
  • 🛡️ Администраторы кластера — если их нет, любой пользователь сети с консолью может удалить базу. Назначьте администратора на узле Администраторы кластера.

Служебная учётная запись

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

Как проверить, что база работает

Создание в консоли ещё не значит, что пользователи смогут войти. Проверьте базу полностью.

Проверка новой базы
Выполнено: 0 / 7

Для подключения с клиентских рабочих мест добавьте базу в окне запуска: Добавить → Добавление в список существующей информационной базы → На сервере 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?
Нет. Каждой информационной базе 1С нужна своя база в СУБД. На одном сервере SQL их может быть сколько угодно.
Как перенести файловую базу на сервер?
Выгрузите файловую базу в .dt через Конфигуратор, создайте пустую базу на сервере и загрузите в неё этот файл. Перед выгрузкой попросите пользователей выйти — потребуется монопольный доступ.
Нужна ли отдельная лицензия на каждую серверную базу?
Нет. Лицензия сервера 1С выдаётся на сервер, а не на базу, и на одном кластере можно держать много баз. Клиентские лицензии считаются по одновременным сеансам.
Можно ли переименовать базу в кластере после создания?
Имя в кластере менять можно, но тогда у всех пользователей придётся исправить строку подключения в окне запуска. Имя базы в СУБД при этом не меняется.
Почему смещение дат 2000 только для MS SQL?
Так 1С обходит ограничение старого типа дат в MS SQL, который не хранит даты раньше 1753 года. PostgreSQL такого ограничения не имеет, поэтому смещение там не используют.