Серверная база 1С с нуля: СУБД, кластер, перенос данных и резервные копии
Содержание
Чтобы сделать серверную базу 1С, нужны три слоя: СУБД (PostgreSQL или Microsoft SQL Server), сервер 1С:Предприятия с запущенным кластером и сама информационная база, зарегистрированная в этом кластере. Базу создают в консоли администрирования серверов или прямо из окна запуска 1С, выбрав вариант На сервере 1С:Предприятия, а данные из старой файловой базы переносят через выгрузку .dt.
Типичная ситуация: в бухгалтерии пять человек работают в файловой базе по сети, к концу месяца закрытие идёт по полчаса, а при одновременном проведении документов всё встаёт. Переход на клиент-серверный вариант решает эту проблему. Ниже — порядок действий для администратора на Windows Server 2016 и новее с платформой 1С 8.3.2x. Инструкция общая для всех типовых конфигураций: БП, ЗУП, УТ, ERP ставятся на сервер одинаково.
Файловая или серверная база 1С: что выбрать и на каком железе
Файловая база — это один файл 1Cv8.1CD в папке. С ним работает каждый клиент напрямую, через сетевую шару. Серверная база хранит данные в СУБД, а клиенты общаются с сервером 1С, который сам обращается к базе данных.
| Критерий | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Одновременная работа | Тормозит при нескольких активных пользователях | Рассчитан на десятки и сотни сеансов |
| Блокировки | Блокируется таблица целиком | Блокировки на уровне записей (управляемые) |
| Размер базы | Чем больше файл, тем медленнее и опаснее | Ограничен в основном диском и СУБД |
| Лицензии | Только клиентские | Клиентские + лицензия на сервер 1С |
| Администрирование | Скопировать папку | Нужен администратор СУБД и кластера |
| Резервное копирование | Копия файла 1Cv8.1CD | Средствами СУБД, по расписанию |
Сколько ресурсов нужно серверу
Цифры ниже — ориентир для одного сервера, где стоят и 1С, и СУБД:
- 🖥️ до 10 пользователей — 4 ядра, 16 ГБ ОЗУ, SSD от 256 ГБ;
- 🖥️ 10–30 пользователей — 8 ядер, 32 ГБ ОЗУ, NVMe-диски;
- 🖥️ 30+ пользователей или ERP — разносите 1С и СУБД на разные машины, памяти от 64 ГБ.
Главное — диски. База данных на медленном HDD сведёт на нет весь переход. Под файлы СУБД, журнал транзакций и резервные копии лучше выделить разные тома.
Лицензии
Для клиент-серверного варианта покупается отдельная лицензия на сервер 1С:Предприятия (обычная x64 или КОРП). Клиентские лицензии нужны по-прежнему. Их удобно хранить прямо на сервере: тогда сервер раздаёт их пользователям, и не нужно активировать лицензию на каждом компьютере.
Установка СУБД для серверной базы 1С
1С работает с четырьмя СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 и Oracle Database. На практике выбирают одну из первых двух.
| СУБД | Стоимость | Где ставить | Подводные камни |
|---|---|---|---|
| PostgreSQL | Бесплатно | Windows или Linux | Нужна сборка, адаптированная для 1С |
| MS SQL Server Express | Бесплатно | Windows | Лимит 10 ГБ на базу, ограничение по памяти и ядрам |
| MS SQL Server Standard | Платная | Windows | Лицензирование по ядрам или по подключениям |
PostgreSQL
Обычный PostgreSQL с официального сайта сообщества для 1С не подходит: платформе нужны доработки, которых в нём нет. Берите сборку PostgreSQL для 1С (её выпускают сама фирма 1С и Postgres Professional) той версии, которую поддерживает ваша платформа.
- Установите сборку, при установке задайте пароль пользователя
postgres. - Проверьте, что кластер PostgreSQL создан с русской локалью и кодировкой
UTF8. Неправильная локаль потом проявится в сортировке списков. - Если сервер 1С стоит на другой машине, разрешите подключение в
pg_hba.confи укажитеlisten_addressesвpostgresql.conf. - Перезапустите службу PostgreSQL.
Отдельного пользователя под каждую базу заводить не обязательно. Но хорошая практика — создать роль с правом создавать базы и подключать 1С от её имени, а не от postgres.
Microsoft SQL Server
- При установке выберите сортировку
Cyrillic_General_CI_AS. - Включите смешанную аутентификацию (SQL Server и Windows) — 1С подключается по логину и паролю SQL.
- Создайте логин для 1С и дайте ему роль
dbcreator, чтобы 1С сама создала базу. - В свойствах сервера ограничьте Maximum server memory. Без этого SQL Server займёт почти всю память, и рабочим процессам 1С её не хватит.
Для SQL Server оставьте под ОС и сервер 1С примерно 25–30% памяти. При 32 ГБ разумно задать SQL Server около 22–24 ГБ.
Установка сервера 1С и настройка кластера
Установка платформы на сервер
Запустите полный дистрибутив платформы (setup.exe из архива технологической платформы для Windows x64) и отметьте компоненты:
- ✅ Сервер 1С:Предприятия 8;
- ✅ Администрирование сервера 1С:Предприятия — консоль управления;
- ✅ 1С:Предприятие 8 — клиент, чтобы открыть базу прямо с сервера и проверить её.
На шаге с параметрами сервера оставьте галочку установки как сервиса Windows. Установщик создаст пользователя USR1CV8, от имени которого работает служба. Пароль запишите сразу — он понадобится при переустановке службы.
После установки в списке служб появится Агент сервера 1С:Предприятия 8.3. Он должен быть в состоянии «Выполняется» и с автоматическим запуском.
Порты и брандмауэр
Клиент сначала стучится к агенту сервера, затем к менеджеру кластера, затем к рабочим процессам. Порты по умолчанию:
| Порт | Кто слушает |
|---|---|
1540 | Агент сервера (ragent) |
1541 | Менеджер кластера (rmngr) |
1560–1591 | Рабочие процессы (rphost), диапазон задаётся в свойствах рабочего сервера |
Откройте их во входящих правилах брандмауэра Windows. Пример для командной строки от администратора:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
Консоль администрирования
Консоль открывается ярлыком Администрирование серверов 1С Предприятия. Если при запуске снап-ин не загружается или выдаёт ошибку, зарегистрируйте библиотеку radmin.dll нужной версии. Командная строка — от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой — он совпадает с папкой установленной платформы. После регистрации в консоли раскройте Central 1C:Enterprise 8.3 servers, найдите свой сервер и убедитесь, что внутри есть кластер «Локальный кластер» на порту 1541.
Сразу задайте администратора кластера (ветка «Администраторы» внутри кластера). Без него любой, кто знает адрес сервера, может зайти в консоль, удалить базу из кластера или завершить сеансы.
Как создать серверную базу 1С в кластере
Базу можно создать двумя способами. Результат одинаковый: в СУБД появится пустая база данных, а в кластере — информационная база, которая на неё ссылается.
Способ 1: из окна запуска 1С
- Откройте 1С на любом компьютере, где есть доступ к серверу, нажмите
Добавить. - Выберите
Создание новой информационной базы. Затем — создать базу из шаблона или без конфигурации (во втором случае вы загрузите данные из.dt). - Укажите вариант размещения
На сервере 1С:Предприятия. - Заполните параметры, как в таблице ниже, и нажмите
Далее, затемГотово.
| Поле | Что вписать |
|---|---|
| Кластер серверов 1С:Предприятия | Имя сервера, например srv-1c (или srv-1c:1541, если порт нестандартный) |
| Имя информационной базы в кластере | buh — латиница, без пробелов |
| Тип СУБД | PostgreSQL или MS SQL Server |
| Сервер баз данных | Имя или адрес сервера СУБД, localhost, если СУБД на той же машине |
| Имя базы данных | Обычно совпадает с именем базы в кластере |
| Пользователь и пароль БД | Логин, созданный на этапе установки СУБД |
| Смещение дат | Для MS SQL Server — 2000, для PostgreSQL поля нет |
| Создать базу данных в случае её отсутствия | Включить |
| Установить блокировку регламентных заданий | Включить, если база будет копией рабочей |
Способ 2: через консоль кластера
В консоли раскройте кластер, щёлкните правой кнопкой по ветке Информационные базы → Создать → Информационная база. Откроется та же форма с теми же полями. Здесь же можно включить флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» — тогда клиентские лицензии, активированные на сервере, будут раздаваться пользователям этой базы.
Блокировку регламентных заданий включают для тестовых копий. Иначе копия начнёт сама загружать курсы валют, отправлять отчёты и обмениваться данными, как рабочая база. Для основной базы флажок не ставьте.
Перенос файловой базы на сервер
Чтобы перенести данные из файловой базы в серверную, используют выгрузку в файл .dt. Это единственный способ, который переносит и конфигурацию, и данные, и список пользователей.
- Попросите всех выйти из файловой базы.
- Откройте её в Конфигураторе и выполните
Администрирование → Выгрузить информационную базу. Сохраните файл, напримерbuh_2026.dt. - Создайте пустую серверную базу, как описано выше, без конфигурации.
- Откройте серверную базу в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, укажите файл.dt. - После загрузки откройте базу в режиме 1С:Предприятие, проверьте остатки по ключевым счетам и пару отчётов.
- Поменяйте путь к базе в списке у пользователей: удалите старую файловую строку и добавьте серверную.
Файловую базу не удаляйте как минимум месяц. Переименуйте папку, чтобы никто не открыл её по старой привычке, но храните до тех пор, пока не убедитесь, что в серверной всё сходится.
Если в файловой базе есть ошибки структуры, загрузка .dt может прерваться. Перед выгрузкой проверьте базу: в Конфигураторе Администрирование → Тестирование и исправление в режиме только проверки. Режим исправления запускайте лишь на копии.
Производительность серверной базы 1С
Серверная база сама по себе не гарантирует скорость. Без обслуживания через полгода-год она начинает тормозить так же, как файловая.
Обслуживание СУБД
- 🔧 MS SQL Server — план обслуживания: ежедневное обновление статистики, еженедельная перестройка или реорганизация индексов, очистка процедурного кэша после обновления статистики.
- 🔧 PostgreSQL — проверьте, что включён
autovacuum, и раз в неделю запускайтеVACUUM ANALYZEпо базам 1С в ночное время.
Настройки PostgreSQL под 1С
Стандартные значения в postgresql.conf рассчитаны на слабую машину. Ориентир для сервера с 32 ГБ, где стоят и 1С, и СУБД:
shared_buffers = 8GB
effective_cache_size = 20GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_connections = 500
После правки перезапустите службу PostgreSQL. Это обрывает все сеансы 1С — делайте вечером, когда пользователи вышли.
Настройки рабочего сервера 1С
В свойствах рабочего сервера (консоль → кластер → Рабочие серверы → свойства) обратите внимание на:
- ⚙️ Количество ИБ на процесс и Количество соединений на процесс — регулируют, сколько баз и сеансов обслуживает один
rphost; - ⚙️ Критический объём памяти процессов — порог, после которого сервер начинает защищаться от нехватки памяти;
- ⚙️ Диапазон IP-портов — те самые
1560–1591.
Не меняйте эти параметры наугад. Если база тормозит, сначала включите технологический журнал и найдите конкретные медленные запросы или ожидания на блокировках.
Что ещё влияет на скорость
- 🔌 Схема электропитания Windows — «Высокая производительность». В режиме экономии процессор сбрасывает частоту, и 1С это заметно.
- 🛡️ Антивирус — исключите из проверки каталоги данных СУБД и каталог кластера
srvinfo. - 🌐 Сеть между сервером 1С и СУБД — если они на разных машинах, нужна быстрая сеть с минимальной задержкой.
Резервное копирование серверной базы
Выгрузка .dt — это не резервная копия. Она долгая, требует монопольного доступа и не умеет восстанавливать базу на определённый момент времени. Для рабочей базы копии делают средствами СУБД.
PostgreSQL
Копия одной базы в сжатый формат:
"C:\Program Files\PostgreSQL\16.4-1.1C\bin\pg_dump.exe" -U postgres -Fc -f D:\Backup\buh.dump buh
Путь к pg_dump.exe зависит от версии сборки — посмотрите его в папке установки PostgreSQL. Восстановление — утилитой pg_restore в новую пустую базу. Команду ставят в Планировщик заданий Windows на ночь.
MS SQL Server
BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh_full.bak'
WITH INIT, CHECKSUM;
В редакциях Standard и выше копии настраивают в плане обслуживания с расписанием. В Express агента SQL Server нет — запускайте скрипт через sqlcmd из Планировщика заданий.
Для модели восстановления Full настройте ещё и копирование журнала транзакций каждые 15–60 минут. Иначе журнал разрастётся до размера диска. Если восстановление на точку во времени не нужно, переключите базу на модель Simple.
Правило трёх копий
- 💾 одна копия — на том же сервере, для быстрого восстановления;
- 💾 вторая — на другом физическом носителе или NAS;
- 💾 третья — вне офиса: облако или съёмный диск.
Раз в квартал разворачивайте копию в тестовую базу и открывайте её. Копия, которую ни разу не восстанавливали, может оказаться пустой.
Ошибки при создании и подключении серверной базы
Ещё одна частая ситуация — версия платформы на клиенте не совпадает с версией сервера. Клиент и сервер должны быть одной сборки. После обновления платформы на сервере обновите её и на рабочих местах, иначе пользователи получат сообщение о несоответствии версий.
При обновлении платформы на сервере служба агента останавливается. Все сеансы пользователей оборвутся — планируйте обновление на нерабочее время и предупредите бухгалтерию заранее.
Частые вопросы
Можно ли поставить сервер 1С и СУБД на один компьютер?
Можно ли сделать серверную базу на Linux?
Хватит ли бесплатного MS SQL Server Express?
Нужна ли отдельная лицензия на каждую серверную базу?
Можно ли вернуть серверную базу обратно в файловую?
.dt из серверной базы в Конфигураторе и загрузите в новую пустую файловую базу.