Серверная информационная база 1С 8.3: от СУБД до первого входа пользователей

· 11 мин

Содержание

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

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

Какую СУБД выбрать под серверную базу 1С

Платформа 8.3 работает с четырьмя СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 и Oracle Database. На практике выбор почти всегда между первыми двумя.

СУБДКогда выбиратьНа что обратить внимание
PostgreSQLСервер на Linux, нужна бесплатная СУБД, импортозамещениеНужна сборка с патчами для 1С (от фирмы 1С или Postgres Pro), обычный PostgreSQL из репозитория не подойдёт
Microsoft SQL ServerИнфраструктура на Windows, админ знает SQL ServerПлатная лицензия; редакция Express ограничена по размеру базы и памяти
IBM Db2, OracleУже есть в компании и есть специалистРедкий выбор, меньше готовых рецептов

💡 Для небольшой фирмы на 5–15 пользователей PostgreSQL с 1С-сборкой на том же сервере, где стоит 1С, — рабочий и самый дешёвый вариант.

Перед стартом проверьте лицензии. Для клиент-серверного режима нужна лицензия на сервер 1С:Предприятия (ПРОФ или КОРП) и клиентские лицензии по числу одновременных пользователей. Лицензии на СУБД — отдельно, если СУБД платная.

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

Установка сервера 1С и проверка кластера

Если сервер 1С уже работает и в консоли кластера видны базы, раздел можно пропустить. Если ставите с нуля, порядок такой.

Установка на Windows

  1. Запустите установщик платформы и отметьте компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия».
  2. Выберите установку сервера как службы Windows и создайте для неё отдельного пользователя (установщик по умолчанию предлагает USR1CV8). Не запускайте службу от администратора домена.
  3. После установки зарегистрируйте консоль администрирования, если она не открывается: выполните от имени администратора regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\radmin.dll" (подставьте свою версию).
  4. Откройте консоль Администрирование серверов 1С Предприятия, добавьте центральный сервер по имени компьютера и убедитесь, что под ним есть кластер с портом 1541.

Установка на Linux

Пакеты сервера ставятся из дистрибутива платформы, служба называется по шаблону srv1cv8-8.3.XX.XXXX. Для управления без Windows-консоли запустите сервер администрирования ras и работайте утилитой rac. Проверка, что кластер жив:

rac cluster list

Команда выведет идентификатор кластера (поле cluster) — он понадобится ниже.

Порты, которые должны быть открыты

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

Диапазон 1560–1591 задаётся в свойствах рабочего сервера и может быть другим. Открывайте в брандмауэре тот, что указан у вас.

Подготовка базы данных в СУБД

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

Microsoft SQL Server

  • 🔑 Создайте SQL-логин (проверка подлинности SQL Server должна быть включена).
  • 🛠 Выдайте логину серверную роль dbcreator, чтобы 1С могла создать базу. После создания можно сделать его владельцем базы (db_owner) и роль dbcreator снять.
  • 📅 В форме добавления базы укажите смещение дат 2000. Без этого даты до 1753 года в SQL Server не поместятся.
  • 🔤 Если создаёте базу вручную, ставьте сортировку Cyrillic_General_CI_AS.

PostgreSQL

  • 🔑 Создайте роль с правом входа и создания баз:
CREATE ROLE usr1c WITH LOGIN CREATEDB PASSWORD 'надёжный_пароль';
  • 🌐 Разрешите подключение с адреса сервера 1С в pg_hba.conf и укажите нужный интерфейс в listen_addresses файла postgresql.conf. После правки перечитайте конфигурацию.
  • 📅 Смещение дат для PostgreSQL — 0.

Не используйте для 1С суперпользователя postgres или sa в SQL Server «на время». Временные решения в учётных записях СУБД обычно остаются навсегда.

Добавление серверной базы 1С в кластер: два способа

Способ 1. Из окна запуска 1С

Это основной способ для большинства администраторов.

  1. Запустите 1С, в окне выбора баз нажмите Добавить.
  2. Выберите Создание новой информационной базы. Затем — создать из шаблона конфигурации (если нужна типовая) или без конфигурации (если потом загрузите .dt или .cf).
  3. Укажите наименование базы в списке — это то, что увидит пользователь, например «Бухгалтерия ООО Север».
  4. Выберите тип расположения На сервере 1С:Предприятия.
  5. Заполните поля:
    • Кластер серверов 1С:Предприятия — имя или IP сервера. Если кластер работает не на стандартном порту 1541, допишите порт через двоеточие: srv1c:2541.
    • Имя информационной базы в кластере — латиницей, без пробелов, например bp_sever.
    • Тип СУБД — MS SQL Server или PostgreSQL.
    • Сервер баз данных — имя сервера СУБД. Для SQL Server с именованным экземпляром: sqlsrv\SQL2019.
    • Имя базы данных — имя базы внутри СУБД. Удобно делать его равным имени в кластере.
    • Пользователь и пароль сервера БД — учётная запись из предыдущего раздела.
    • Смещение дат — 2000 для SQL Server, 0 для PostgreSQL.
    • Флажок Создать базу данных в случае её отсутствия.
    • Флажок Установить блокировку регламентных заданий — ставьте, если загружаете копию рабочей базы. Иначе тестовая копия начнёт сама обмениваться данными и отправлять отчётность.
  6. Нажмите Далее, проверьте параметры запуска и Готово.

Если появилось окно с ошибкой — смотрите последний раздел. Если ошибок нет, база создана, зарегистрирована в кластере и сразу добавлена в ваш список.

Способ 2. Через консоль кластера или rac

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

В Windows-консоли: раскройте Центральные серверы 1С:Предприятия → ваш сервер → Кластеры → кластер → Информационные базы, в контекстном меню выберите Новый → Информационная база. Поля те же, что и в окне запуска.

На Linux то же самое делается через rac:

rac infobase --cluster=<id_кластера> create \
  --create-database \
  --name=bp_sever \
  --dbms=PostgreSQL \
  --db-server=localhost \
  --db-name=bp_sever \
  --locale=ru \
  --db-user=usr1c \
  --db-pwd='надёжный_пароль' \
  --license-distribution=allow

Если в кластере заведены администраторы, добавьте --cluster-user и --cluster-pwd. Полный список параметров вашей версии — в rac help infobase.

Как добавить уже существующую серверную базу в список пользователя

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

💡 Чтобы не обходить 30 компьютеров, разложите список баз централизованно: общий файл .v8i в сетевой папке, подключённый в настройках окна запуска, или файл ibases.v8i в профиле пользователя через групповую политику. Строка подключения серверной базы выглядит так:

Connect=Srvr="srv1c";Ref="bp_sever";

Перенос файловой базы 1С на сервер

Если база раньше жила в каталоге с файлом 1Cv8.1CD, переносить её нужно через выгрузку .dt. Копировать файл базы на сервер бессмысленно: серверная база хранится в таблицах СУБД.

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

Не держите две «живые» копии одновременно: обмены, загрузка выписок и отправка отчётности из обеих баз дадут задвоение.

Перед выгрузкой стоит запустить тестирование и исправление файловой базы с проверкой логической и ссылочной целостности. Ошибки, которые файловая база терпела, при загрузке в СУБД могут остановить процесс.

Перед переключением пользователей на серверную базу
Выполнено: 0 / 6

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

В клиент-серверном режиме три уровня прав, и путать их не стоит.

УровеньГде задаётсяКто это
Администратор центрального сервераКонсоль → центральный сервер → АдминистраторыМожет управлять всеми кластерами
Администратор кластераКонсоль → кластер → АдминистраторыМожет создавать и удалять базы, видеть сеансы
Пользователь информационной базыВнутри базы: список пользователей конфигурацииРаботает с данными

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

Что ещё сделать для безопасности:

  • 🔒 Отключите в свойствах базы возможность создавать базы с клиентских машин, если это не нужно: задайте администратора кластера, и без его пароля новые базы не появятся.
  • 🧱 Откройте порты 1540, 1541 и диапазон рабочих процессов только для подсети пользователей, а порт СУБД — только для сервера 1С.
  • 👤 Учётная запись СУБД для 1С — отдельная для каждой критичной базы или хотя бы не общая с другими системами.
  • 🗂 В свойствах базы есть поле «Блокировка начала сеансов» — им удобно закрывать вход на время обновления.
  • 🛡 Профили безопасности кластера ограничивают внешние обработки и доступ к файловой системе сервера. Включайте их осознанно: старые внешние обработки могут перестать работать.

Как ускорить работу серверной базы

Серверная база сама по себе не быстрее файловой при двух пользователях. Выигрыш появляется при нагрузке, и только если сервер настроен.

Железо и размещение. Держите базы СУБД на SSD. Если 1С и СУБД стоят на одном сервере, это нормально для небольшой фирмы, но тогда делите память явно.

Память СУБД.

  • В SQL Server ограничьте max server memory, иначе СУБД заберёт всю память и rphost начнёт работать с подкачкой. Оставьте операционной системе и 1С несколько гигабайт.
  • В PostgreSQL ориентир для shared_buffers — около четверти оперативной памяти сервера, effective_cache_size — около половины и больше.

Регламентное обслуживание.

  • SQL Server: обновление статистики ежедневно, реиндексация или дефрагментация индексов еженедельно, очистка процедурного кэша после обновления статистики.
  • PostgreSQL: проверьте, что включён autovacuum; раз в неделю ночью полезен VACUUM ANALYZE.
  • Модель восстановления SQL Server Simple, если не делаете резервные копии журнала транзакций. Иначе журнал разрастётся на весь диск.

Резервное копирование . Делайте его средствами СУБД (BACKUP DATABASE, pg_dump). Выгрузка .dt годится как дополнительная копия, но для большой базы она идёт долго и требует монопольного доступа.

Перезапуск службы сервера 1С или СУБД ради «ускорения» обрывает сеансы всех пользователей без сохранения данных. Делайте это только в нерабочее время и после предупреждения.

Ошибки при добавлении серверной базы и что с ними делать

Чаще всего проблема в одном из трёх звеньев: сеть до сервера 1С, связь сервера 1С с СУБД или учётная запись СУБД. Сообщение об ошибке обычно указывает, на каком звене обрыв.

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

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

Можно ли держать серверные базы разных версий платформы на одном сервере?
Да. Устанавливаются несколько версий сервера 1С, каждая со своим агентом на своих портах (например, 1540 и 2540). Клиенты подключаются к нужному кластеру с указанием порта.
Сколько баз можно добавить в один кластер?
Фиксированного лимита на число баз в кластере нет: на одном сервере нередко работают десятки баз. Ограничивают память, диск и нагрузка, а не число баз.
Как переименовать серверную базу?
Имя в кластере меняется в свойствах базы в консоли. Имя базы в СУБД переименовывать не нужно. После смены имени в кластере поправьте строку подключения у пользователей.
Нужно ли удалять базу в СУБД, если удалил её из кластера?
При удалении из консоли кластера можно выбрать: удалить базу данных, очистить её или оставить. Если оставили — база остаётся в СУБД и занимает место, её удаляют средствами СУБД.
Можно ли подключиться к серверной базе через интернет?
Можно, но открывать порты 1540–1591 наружу опасно. Безопаснее VPN или публикация базы на веб-сервере с HTTPS.