Клиент-серверная 1С на СУБД: устройство, выбор и переход с файла

· 10 мин

Содержание

SQL-версия 1С — это бытовое название клиент-серверного варианта работы 1С:Предприятия 8.3. Данные лежат не в одном файле 1Cv8.1CD, а в базе отдельной СУБД (Microsoft SQL Server, PostgreSQL и другие), а между пользователями и СУБД работает сервер 1С:Предприятия. Конфигурация при этом та же самая: Бухгалтерия, ЗУП или УТ в SQL-версии выглядят и считают так же, как в файловой.

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

Как устроена SQL-версия 1С: три звена вместо одного файла

В файловом режиме каждый компьютер пользователя сам открывает общий файл 1Cv8.1CD по сети и сам выполняет всю работу с данными. Сервера как такового нет — есть общая папка.

В клиент-серверном режиме цепочка другая:

  1. 🖥️ Клиент 1С на рабочем месте показывает формы и отправляет запросы.
  2. ⚙️ Сервер 1С:Предприятия выполняет код конфигурации, проводит документы, строит отчёты. Он состоит из нескольких процессов:
    • ragent — агент сервера, к нему клиент подключается первым (порт 1540);
    • rmngr — менеджер кластера (порт 1541), хранит список баз и сеансов;
    • rphost — рабочие процессы, где идёт вычисление (по умолчанию диапазон 1560–1591, он задаётся в свойствах рабочего сервера).
  3. 🗄️ СУБД хранит таблицы, индексы и журнал транзакций, отвечает за целостность данных.

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

Слово «SQL» в названии — отсылка к языку запросов, на котором сервер 1С разговаривает с СУБД. Пользователь сам SQL не пишет: запросы на встроенном языке 1С платформа переводит в SQL автоматически.

Файловая и SQL-версия 1С: в чём разница на практике

ПараметрФайловая базаКлиент-серверная (SQL)
Где данныеОдин файл 1Cv8.1CDТаблицы в базе СУБД
Кто обрабатывает данныеКаждый клиент самСервер 1С и СУБД
БлокировкиКрупные, на уровне таблицМельче, на уровне записей (управляемые блокировки)
Пользователей без заметных тормозовОриентировочно до 5–10 одновременноДесятки и сотни
Устойчивость к сбоямОбрыв сети или питания может повредить файлЦелостность обеспечивает журнал транзакций СУБД
Резервное копированиеКопия файла или выгрузка .dt при остановленной работеРезервные копии средствами СУБД, в том числе без остановки работы
Что нужно купитьТолько клиентские лицензииКлиентские лицензии + лицензия сервера 1С (+ лицензия СУБД, если она платная)
Кто обслуживаетСам бухгалтер или приходящий специалистНужен администратор хотя бы на подключение

Цифра «5–10 пользователей» — ориентир, а не предел. Файловая база на быстром SSD с небольшим объёмом проводок спокойно держит и больше. А база на медленной сетевой папке начинает тормозить уже при трёх активных бухгалтерах.

Главная практическая разница — в одновременной работе. В файловом режиме, пока один пользователь проводит большой документ или закрывает месяц, остальные часто видят ошибку блокировки или ждут. В SQL-версии они продолжают работать с другими данными.

Ещё одно отличие касается обслуживания. Режим Тестирование и исправление в Конфигураторе для клиент-серверной базы ограничен: проверку физической целостности выполняет сама СУБД своими средствами. Утилита chkdbfl.exe работает только с файлом 1Cv8.1CD.

Какие СУБД работают с 1С и какую выбрать

Платформа 1С:Предприятие 8.3 поддерживает:

  • 🔷 Microsoft SQL Server — исторически самый распространённый вариант;
  • 🐘 PostgreSQL — в сборках, адаптированных для 1С (дистрибутив от фирмы «1С» или Postgres Pro);
  • 🟦 IBM Db2 и Oracle Database — встречаются в крупных компаниях, где эти СУБД уже есть.

Для малого и среднего бизнеса выбор обычно сводится к двум вариантам.

КритерийMicrosoft SQL ServerPostgreSQL для 1С
Стоимость лицензииExpress бесплатен, но с ограничениями по размеру базы и ресурсам; Standard платныйБесплатно (сборка с патчами 1С)
ОС сервераWindows Server (есть версии и для Linux)Windows или Linux
Привычность для администраторов 1СОчень высокая, много готовых инструкцийВысокая, растёт
Доступность лицензий в РФПокупка новых лицензий затрудненаБез ограничений
Требования к настройкеНемного: память, модель восстановления, план обслуживанияНужна настройка конфигурационного файла под 1С

Практичный выбор сегодня:

  • ✅ Есть действующая лицензия MS SQL Standard и администратор, который её знает, — оставайтесь на MS SQL.
  • ✅ Новый проект, нет лицензий на СУБД или сервер под Linux — берите PostgreSQL в сборке для 1С.
  • ⚠️ SQL Server Express подходит для теста и маленьких баз, но лимит размера базы данных (10 ГБ на базу в актуальных редакциях) и ограничения по памяти быстро упираются в рост учёта.

Обычный PostgreSQL из репозитория дистрибутива Linux «как есть» для 1С не подходит: нужна сборка с доработками под платформу. Без них база не создастся или будет работать с ошибками.

Когда переходить на SQL-версию 1С, а когда рано

Переход оправдан, если выполняется хотя бы одно из условий:

  • 👥 в базе одновременно работают больше 5–10 человек и регулярно появляются ошибки блокировки;
  • 📈 файл 1Cv8.1CD вырос до десятков гигабайт, закрытие месяца и отчёты идут часами;
  • 💥 база уже повреждалась после сбоя сети или питания;
  • 🌐 нужен удалённый доступ для филиалов, веб-клиент или обмены, которые идут круглосуточно;
  • 🔒 требуется резервное копирование без остановки работы бухгалтерии.

Рано переходить, если в базе 2–3 пользователя, данных немного, а тормоза связаны с медленным диском или сетевой папкой на старом компьютере. Здесь дешевле перенести файл на SSD и подключать пользователей через терминальный доступ.

Нужна ли вам SQL-версия 1С?

Сколько это стоит

Цены меняются, поэтому только ориентиры:

  • 💳 лицензия сервера 1С:Предприятия 8.3 — ориентировочно от 90–100 тыс. руб., версия КОРП для крупных систем — в несколько раз дороже;
  • 🗄️ PostgreSQL для 1С — бесплатно; MS SQL Standard — отдельная покупка, цена зависит от числа ядер;
  • 🖥️ сервер для 10–20 пользователей — 4–8 ядер, 32 ГБ памяти и SSD, своё железо или аренда виртуальной машины;
  • 🧑‍🔧 первичная настройка у подрядчика — обычно от нескольких часов до пары рабочих дней работы специалиста.

Клиентские лицензии, которые у вас уже есть, остаются: в SQL-версии они тоже нужны.

Как перейти с файловой базы на SQL: пошаговый перенос

Перенос делается через выгрузку и загрузку файла .dt. Это штатный способ: в файле сохраняются конфигурация, данные и список пользователей.

Подготовка

  1. Установите на сервер СУБД и задайте пароль её администратора (для PostgreSQL — пользователь postgres, для MS SQL — sa или учётная запись Windows).
  2. Установите на сервер платформу 1С с компонентом «Сервер 1С:Предприятия» той же версии, что у клиентов, и запустите службу. Номер версии сервера и клиента должен совпадать полностью, до последней цифры.
  3. Активируйте лицензию сервера 1С на этом компьютере.
  4. Откройте в брандмауэре порты 1540, 1541 и диапазон рабочих процессов 1560–1591.

Выгрузка файловой базы

  1. Попросите всех пользователей выйти из базы.
  2. Откройте базу в Конфигураторе.
  3. Выберите Администрирование → Выгрузить информационную базу и сохраните файл .dt.

Не удаляйте и не меняйте исходную файловую базу , пока не проверите новую. Она — ваш путь отката.

Создание базы на сервере

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

ПолеЧто указать
Кластер серверов 1С:ПредприятияИмя сервера 1С, например srv1c
Имя информационной базы в кластереКороткое латинское имя, например buh
Тип СУБДPostgreSQL или MS SQL Server
Сервер баз данныхИмя сервера СУБД (для PostgreSQL с нестандартным портом — с указанием порта)
Имя базы данныхОбычно совпадает с именем в кластере
Пользователь и пароль сервера БДУчётная запись СУБД с правом создавать базы
Смещение датДля MS SQL — 2000; для других СУБД оставьте значение по умолчанию
Создать базу данных в случае её отсутствияВключить
Установить блокировку регламентных заданийВключить на время переноса

Тот же результат можно получить через консоль администрирования серверов 1С: создать базу в разделе «Информационные базы» кластера.

Загрузка и проверка

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

Резервные копии и обслуживание SQL-базы

В SQL-версии копировать «файл базы» уже не получится. Основной инструмент — средства самой СУБД:

  • 🗄️ MS SQL — план обслуживания с полной копией раз в сутки и копиями журнала транзакций каждые 15–60 минут, если модель восстановления полная;
  • 🐘 PostgreSQL — ежедневный pg_dump по расписанию, для больших баз — физическое копирование с архивом журналов;
  • 📦 выгрузка .dt — полезна перед обновлением конфигурации, но как единственная копия не годится: она требует монопольного доступа и долго идёт на больших базах.

Пример задания для ежедневной копии PostgreSQL в Windows (имя базы и пути — свои):

set PGPASSWORD=пароль_пользователя
"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -h localhost -F c -f "D:\backup\buh_%date:~-4%%date:~3,2%%date:~0,2%.backup" buh

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

Кроме копий, СУБД нужно регулярное обслуживание: обновление статистики и перестроение индексов. Без него через несколько месяцев запросы начинают медленнее выбирать данные, и пользователи жалуются на «тормоза SQL».

Частые ошибки при работе с SQL-версией 1С

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

Ещё несколько промахов, которые встречаются при самостоятельном переходе:

  • ❌ Сервер 1С и СУБД на слабой виртуалке с HDD. Клиент-серверная база на медленном диске работает хуже файловой на SSD. Под СУБД нужен быстрый накопитель.
  • ❌ Антивирус проверяет файлы базы и каталоги сервера 1С. Исключите из проверки каталоги данных СУБД и рабочий каталог кластера, иначе получите случайные зависания.
  • ❌ Остановка службы 1С посреди рабочего дня. Перезапуск службы сервера 1С обрывает все сеансы пользователей, несохранённые документы пропадут. Делайте это вечером или после предупреждения.
  • ❌ Пароль администратора кластера никто не записал. Его потом трудно восстановить без доступа к серверу. Храните учётные данные в менеджере паролей компании.

SQL-версия 1С: ответы на частые вопросы

Нужно ли покупать новые клиентские лицензии при переходе на SQL-версию?
Нет. Действующие клиентские лицензии используются и в клиент-серверном режиме. Докупить придётся лицензию сервера 1С и, при выборе MS SQL Standard, лицензию СУБД.
Можно ли вернуться с SQL-версии обратно на файловую?
Да. Выгрузите базу в .dt из Конфигуратора, создайте пустую файловую базу и загрузите туда этот файл. Конфигурация и данные переносятся полностью.
Станет ли 1С быстрее сразу после перехода?
Одновременная работа станет заметно легче: меньше ожиданий и ошибок блокировки. Скорость одного отчёта может не измениться или даже упасть, если сервер слабее рабочего компьютера или СУБД не настроена.
Можно ли держать файловые и SQL-базы на одном сервере?
Можно. Файловые базы просто лежат в папке, а клиент-серверные регистрируются в кластере. Часто так поступают с архивными и тестовыми базами.
Можно ли редактировать данные 1С напрямую в SQL?
Нельзя. Структура таблиц служебная, правка в обход платформы легко нарушает связи между объектами и итоги регистров. Все изменения делайте через 1С.