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