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