Администрирование · 10 мин
Что такое SQL-версия 1С и как она работает
Что такое SQL-версия 1С, чем она отличается от файловой, когда нужен клиент-серверный режим и как выбрать СУБД для базы 1С — практическое руководство.
SQL-версия 1С — это вариант работы платформы «1С:Предприятие», при котором данные информационной базы хранятся не в файле на диске, а в реляционной базе данных под управлением СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle Database. Сама логика конфигурации — документы, справочники, отчёты — остаётся той же, меняется только способ хранения и обработки данных. Платформа формирует SQL-запросы, передаёт их серверу СУБД и получает результат, который отображает пользователю.
Такой режим называют клиент-серверным, в отличие от файлового, где вся база умещается в один файл 1Cv8.1CD. Переход на SQL-версию становится необходимостью, когда с базой одновременно работают десятки пользователей, объём данных растёт, а файловый режим начинает «тормозить» и конфликтовать при блокировках. При этом SQL-версия требует отдельного сервера, лицензий на СУБД и квалифицированного администрирования.
Разберёмся, как устроена клиент-серверная архитектура 1С, чем она отличается от файловой на практике, какую СУБД выбрать и каких ошибок стоит избегать при переходе.
Как устроена клиент-серверная архитектура 1С
В SQL-режиме работают три уровня. Первый — клиентское приложение (тонкий клиент, толстый клиент или веб-клиент), с которым работает пользователь. Второй — сервер «1С:Предприятия», который выполняет код конфигурации, управляет сеансами и формирует запросы к данным. Третий — сервер СУБД, где физически хранятся таблицы с данными.
Платформа 1С не хранит структуру метаданных как готовые таблицы «один объект — одна таблица» в понятном человеку виде: имена таблиц и полей в СУБД генерируются служебными, а соответствие объектов конфигурации таблицам можно посмотреть через функцию «ПолучитьСтруктуруХраненияБазыДанных». Поэтому напрямую редактировать данные в СУБД средствами SQL нельзя — это нарушает целостность и лицензионные условия.
Важно понимать: «SQL-версия» — это не отдельная конфигурация и не другая редакция программы. Одна и та же конфигурация (например, «1С:Бухгалтерия» или «1С:ERP») может работать и в файловом, и в клиент-серверном режиме. Разница только в инфраструктуре и в наличии серверных лицензий.
Чем SQL-версия отличается от файловой на практике
Файловый режим хранит всю базу в одном файле, и платформа сама управляет доступом к нему. При одновременной работе пользователей блокировки накладываются на большие участки данных, что приводит к ошибкам «Конфликт блокировок» и падению скорости. Клиент-серверный режим передаёт управление блокировками СУБД, которая умеет блокировать отдельные строки и обслуживать сотни одновременных соединений.
| Критерий | Файловый режим | SQL (клиент-серверный) |
|---|---|---|
| Число пользователей | До ~10 комфортно | Десятки и сотни |
| Объём базы | Ограничения на размер таблиц | Практически не ограничен |
| Отказоустойчивость | Риск повреждения файла при сбое | Транзакции, журналы, резервирование СУБД |
| Фоновые задания | Ограниченно | Полноценно на сервере |
| Стоимость владения | Минимальная | Сервер, лицензии, администратор |
Дополнительное преимущество SQL-режима — безопасность: пользователи не имеют прямого доступа к файлу базы, работают только через сервер 1С. Также доступны регламентные и фоновые задания на сервере, распределение нагрузки между рабочими процессами и кластерные механизмы резервирования.
Сравнение вариантов
Подходит для небольшой компании до 5–10 пользователей; ограничение — рост базы и конфликты блокировок при интенсивной работе.
Подходит для средних и крупных внедрений на Windows; ограничение — стоимость лицензий СУБД.
Подходит для снижения стоимости лицензий, есть сборки, адаптированные под 1С; ограничение — требуется опыт администрирования PostgreSQL.
Когда переход на SQL-версию действительно нужен
Однозначных порогов не существует, но есть характерные признаки, что файловый режим исчерпал себя. Первый — регулярные ошибки конфликта блокировок при одновременном проведении документов. Второй — заметное замедление отчётов и проведения при росте базы. Третий — необходимость работы более чем 10–15 пользователей одновременно. Четвёртый — требования к бесперебойности: регламентные задания, интеграции, обмены должны работать круглосуточно.
Как выбрать действие
Обратная ситуация тоже встречается: небольшая компания переходит на SQL «для надёжности», но не имеет администратора, и в итоге база остаётся без резервных копий и обслуживания СУБД. Если нет ресурсов на сопровождение сервера, файловый режим с регулярным копированием может быть безопаснее.
Выбор СУБД: MS SQL Server, PostgreSQL и другие
Платформа 1С официально поддерживает несколько СУБД. Наиболее распространённая связка — Microsoft SQL Server: для него есть подробная документация, множество специалистов и предсказуемое поведение под нагрузкой. Минус — стоимость лицензий, которые приобретаются на сервер или на ядра.
PostgreSQL — популярная альтернатива с бесплатной лицензией. Для работы с 1С используются специальные сборки, адаптированные под требования платформы. Это заметно снижает стоимость внедрения, но требует администратора, знакомого именно с PostgreSQL: настройки памяти, автовакуума и планировщика сильно влияют на производительность.
IBM Db2 и Oracle Database применяются реже, в основном в крупных организациях, где эти СУБД уже используются в корпоративной инфраструктуре. Выбор между ними обычно продиктован не 1С, а существующим парком систем.
Как выполнить переход с файловой базы на SQL
Переход выполняется через выгрузку базы в файл .dt из конфигуратора и последующую загрузку в новую базу, созданную на сервере 1С. Сам процесс несложен, но требует подготовки инфраструктуры и тестирования.
- 1Установите и настройте СУБД (MS SQL Server или PostgreSQL) на отдельном сервере или мощной машине
- 2Установите сервер 1С:Предприятия и активируйте серверную лицензию
- 3Сделайте выгрузку файловой базы: Конфигуратор → Администрирование → Выгрузить информационную базу
- 4Создайте новую базу в консоли кластера серверов 1С с указанием СУБД
- 5Загрузите .dt в новую базу через конфигуратор
- 6Проверьте работу ключевых операций: проведение документов, отчёты, обмены
- 7Настройте резервное копирование средствами СУБД и план обслуживания
После загрузки обязательно проверьте полноту данных: количество документов за период, остатки по ключевым регистрам, работу регламентных заданий. Пользователей подключают к новой базе через список информационных баз с указанием сервера, а не пути к файлу.
Администрирование и типичные ошибки
SQL-версия требует регулярного обслуживания СУБД: обновления статистики, перестроения индексов, контроля размера журнала транзакций и мониторинга свободного места. Без этого производительность постепенно деградирует, даже если сервер мощный. Для MS SQL Server обычно настраивают план обслуживания, для PostgreSQL — следят за автовакуумом.
Резервное копирование в SQL-режиме делается штатными средствами СУБД, а не копированием файлов. Выгрузка .dt остаётся полезной как дополнительный формат переноса, но как единственный способ бэкапа она медленная и не подходит для больших баз.
Как проверить результат
Проведение типового документа занимает секунды, без ошибок блокировок
Регулярные конфликты блокировок или ожидание на десятки секунд
Копии создаются по расписанию средствами СУБД, тестовое восстановление проходит успешно
Копий нет или восстановление из них никогда не проверялось
Запас свободного места, журнал транзакций контролируется
Диск заполнен почти полностью, журнал растёт бесконтрольно
Часто задаваемые вопросы
Можно ли работать в SQL-режиме без покупки лицензии на MS SQL Server?
Да. Альтернатива — PostgreSQL со специальными сборками, адаптированными под 1С, которые распространяются бесплатно. При этом серверная лицензия 1С всё равно необходима независимо от выбранной СУБД.
Изменится ли конфигурация при переходе на SQL-версию?
Нет, конфигурация остаётся той же — переносится вся логика, данные и настройки. Меняется только способ хранения. Исключение — решения с жёсткой привязкой к файловому режиму, которые встречаются редко и выявляются на тестировании.
Можно ли вернуться с SQL обратно в файловый режим?
Да, через выгрузку базы в .dt из конфигуратора и загрузку в новую файловую базу. Ограничение — объём: очень большие базы могут не поместиться в ограничения файлового формата, поэтому возврат возможен не всегда.
Нужно ли ставить СУБД и сервер 1С на разные машины?
Для небольшой нагрузки допустимо размещение на одном сервере, если ресурсов достаточно. При росте числа пользователей рекомендуется разносить их: сервер СУБД чувствителен к дисковой подсистеме, а сервер 1С — к процессору и памяти.
Что делать, если в SQL-режиме база работает медленнее, чем в файловом?
Чаще всего причины — недостаток памяти под СУБД, отсутствие обслуживания индексов и статистики, либо размещение базы на медленных дисках. Проверьте настройки СУБД, план обслуживания и загрузку сервера; при необходимости привлеките специалиста по производительности 1С.
Что важно запомнить
SQL-версия 1С — клиент-серверный режим с хранением данных в СУБД. Он нужен при росте числа пользователей и объёмов данных, обеспечивает устойчивость к блокировкам и сбоям, но требует серверных лицензий и регулярного администрирования. Переход выполняется через выгрузку .dt, обязательно с тестированием и резервной копией.