Клиент-серверная 1С на СУБД: устройство, выбор и переход с файла
Содержание
SQL-версия 1С — это бытовое название клиент-серверного варианта работы 1С:Предприятия 8.3. Данные лежат не в одном файле 1Cv8.1CD, а в базе отдельной СУБД (Microsoft SQL Server, PostgreSQL и другие), а между пользователями и СУБД работает сервер 1С:Предприятия. Конфигурация при этом та же самая: Бухгалтерия, ЗУП или УТ в SQL-версии выглядят и считают так же, как в файловой.
Зачем она нужна: файловая база хорошо служит небольшой команде, но с ростом числа пользователей и объёма данных начинаются блокировки, долгое закрытие месяца и риск повредить файл. SQL-версия снимает эти ограничения ценой дополнительного сервера, лицензий и администрирования.
Как устроена SQL-версия 1С: три звена вместо одного файла
В файловом режиме каждый компьютер пользователя сам открывает общий файл 1Cv8.1CD по сети и сам выполняет всю работу с данными. Сервера как такового нет — есть общая папка.
В клиент-серверном режиме цепочка другая:
- 🖥️ Клиент 1С на рабочем месте показывает формы и отправляет запросы.
- ⚙️ Сервер 1С:Предприятия выполняет код конфигурации, проводит документы, строит отчёты. Он состоит из нескольких процессов:
ragent— агент сервера, к нему клиент подключается первым (порт1540);rmngr— менеджер кластера (порт1541), хранит список баз и сеансов;rphost— рабочие процессы, где идёт вычисление (по умолчанию диапазон1560–1591, он задаётся в свойствах рабочего сервера).
- 🗄️ СУБД хранит таблицы, индексы и журнал транзакций, отвечает за целостность данных.
Сервер 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 Server | PostgreSQL для 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 и подключать пользователей через терминальный доступ.
Сколько это стоит
Цены меняются, поэтому только ориентиры:
- 💳 лицензия сервера 1С:Предприятия 8.3 — ориентировочно от 90–100 тыс. руб., версия КОРП для крупных систем — в несколько раз дороже;
- 🗄️ PostgreSQL для 1С — бесплатно; MS SQL Standard — отдельная покупка, цена зависит от числа ядер;
- 🖥️ сервер для 10–20 пользователей — 4–8 ядер, 32 ГБ памяти и SSD, своё железо или аренда виртуальной машины;
- 🧑🔧 первичная настройка у подрядчика — обычно от нескольких часов до пары рабочих дней работы специалиста.
Клиентские лицензии, которые у вас уже есть, остаются: в SQL-версии они тоже нужны.
Как перейти с файловой базы на SQL: пошаговый перенос
Перенос делается через выгрузку и загрузку файла .dt. Это штатный способ: в файле сохраняются конфигурация, данные и список пользователей.
Подготовка
- Установите на сервер СУБД и задайте пароль её администратора (для PostgreSQL — пользователь
postgres, для MS SQL —saили учётная запись Windows). - Установите на сервер платформу 1С с компонентом «Сервер 1С:Предприятия» той же версии, что у клиентов, и запустите службу. Номер версии сервера и клиента должен совпадать полностью, до последней цифры.
- Активируйте лицензию сервера 1С на этом компьютере.
- Откройте в брандмауэре порты
1540,1541и диапазон рабочих процессов1560–1591.
Выгрузка файловой базы
- Попросите всех пользователей выйти из базы.
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Выгрузить информационную базуи сохраните файл.dt.
Не удаляйте и не меняйте исходную файловую базу , пока не проверите новую. Она — ваш путь отката.
Создание базы на сервере
Удобнее всего создать базу прямо из окна запуска 1С: Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации, затем выбрать вариант «На сервере 1С:Предприятия». Заполните параметры:
| Поле | Что указать |
|---|---|
| Кластер серверов 1С:Предприятия | Имя сервера 1С, например srv1c |
| Имя информационной базы в кластере | Короткое латинское имя, например buh |
| Тип СУБД | PostgreSQL или MS SQL Server |
| Сервер баз данных | Имя сервера СУБД (для PostgreSQL с нестандартным портом — с указанием порта) |
| Имя базы данных | Обычно совпадает с именем в кластере |
| Пользователь и пароль сервера БД | Учётная запись СУБД с правом создавать базы |
| Смещение дат | Для MS SQL — 2000; для других СУБД оставьте значение по умолчанию |
| Создать базу данных в случае её отсутствия | Включить |
| Установить блокировку регламентных заданий | Включить на время переноса |
Тот же результат можно получить через консоль администрирования серверов 1С: создать базу в разделе «Информационные базы» кластера.
Загрузка и проверка
- Откройте новую пустую базу в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите сохранённый.dt. Загрузка требует монопольного доступа, поэтому в базе не должно быть других сеансов. - Запустите базу в режиме 1С:Предприятие и сверьте ключевые цифры: оборотно-сальдовую ведомость за последний закрытый период, остатки по складу, число сотрудников.
- Если программа сообщит, что база перемещена или восстановлена из копии, подтвердите, что это основная рабочая база, — иначе регламентные задания и обмены останутся выключенными.
- Снимите блокировку регламентных заданий в свойствах базы в консоли кластера.
- Перенастройте ярлыки у пользователей на новую базу, а файловую уберите из списка, чтобы никто не продолжил работу в старой.
Резервные копии и обслуживание 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-версию?
Можно ли вернуться с SQL-версии обратно на файловую?
.dt из Конфигуратора, создайте пустую файловую базу и загрузите туда этот файл. Конфигурация и данные переносятся полностью.