К статье
Практический материал

Администрирование · 11 мин

SQL Server в 1С: что это и как работает связка

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

Когда говорят «SQL-сервер 1С», обычно имеют в виду не отдельный продукт фирмы «1С», а связку: платформа 1С:Предприятие, которая хранит данные не в файле на диске, а в базе данных под управлением системы управления базами данных (СУБД). Чаще всего в этой роли выступает Microsoft SQL Server, но возможны и альтернативы — PostgreSQL, Oracle Database, IBM Db2. Сама 1С не хранит таблицы «как есть»: она формирует структуру базы автоматически при создании информационной базы на сервере.

Такой вариант работы называется клиент-серверным режимом. В нём участвуют три компонента: клиентское приложение (толстый, тонкий или веб-клиент), сервер 1С:Предприятия, который выполняет прикладную логику, и сервер СУБД, который физически хранит данные и выполняет запросы. Пользователь нажимает кнопку «Провести документ» — запрос уходит на сервер 1С, тот формирует SQL-запросы к СУБД, а результат возвращается обратно в интерфейс.

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

Что такое SQL Server применительно к 1С

Microsoft SQL Server — это реляционная СУБД корпоративного класса: она принимает запросы на языке SQL, управляет транзакциями, индексами, правами доступа и резервным копированием. В связке с 1С она выполняет роль надёжного хранилища: все справочники, документы, регистры и настройки конфигурации физически лежат в таблицах базы данных на SQL-сервере.

Важно понимать границу ответственности. Платформа 1С сама проектирует схему базы: имена таблиц и полей формируются автоматически и не предназначены для чтения человеком. Прикладной разработчик работает с объектами конфигурации (документами, регистрами), а не с SQL-таблицами напрямую. Встроенный язык 1С и язык запросов 1С транслируются платформой в SQL-запросы конкретной СУБД.

Чем клиент-серверный режим отличается от файлового

В файловом режиме вся база — это один файл, к которому пользователи обращаются по сети через общую папку. Такой вариант прост в развёртывании, но имеет жёсткие ограничения: при одновременной работе нескольких десятков пользователей резко растут блокировки, файл уязвим к повреждениям при сбоях сети или питания, а механизмы полноценного резервного копирования «на горячую» отсутствуют.

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

КритерийФайловый режимКлиент-серверный (SQL)
Ориентировочное число пользователейНебольшие коллективыДесятки и сотни одновременных сессий
Устойчивость к сбоямРиск повреждения файлаТранзакционная целостность, журналы СУБД
Резервное копированиеКопирование файла при выключенной базеШтатные средства СУБД без остановки работы
Требования к администрированиюМинимальныеНужны навыки администрирования СУБД и сервера 1С
Стоимость инфраструктурыНижеВыше: лицензии на СУБД и сервер 1С

Какие СУБД поддерживает платформа 1С

Платформа 1С:Предприятие работает с несколькими СУБД, и выбор зависит от бюджета, компетенций команды и требований к отказоустойчивости. Microsoft SQL Server исторически самый распространённый вариант в российских внедрениях: хорошая интеграция с Windows-инфраструктурой, понятные инструменты администрирования, большое сообщество.

PostgreSQL — популярная альтернатива с открытой лицензией; фирма «1С» распространяет собственную сборку PostgreSQL, адаптированную под платформу. Oracle Database и IBM Db2 встречаются реже, как правило в крупных организациях с существующей инфраструктурой этих вендоров. Логика работы конфигурации от выбора СУБД не меняется — платформа абстрагирует прикладной код от конкретной базы.

Сравнение вариантов СУБД

Microsoft SQL Server

Подходит для Windows-инфраструктуры и типовых внедрений; требует покупки лицензий для полноценной работы, бесплатная редакция Express ограничена по ресурсам.

PostgreSQL

Подходит при ограниченном бюджете и готовности администрировать Linux/Windows-сервер; рекомендуется сборка от 1С, а не ванильный дистрибутив.

Oracle / IBM Db2

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

Как развернуть базу 1С на SQL Server

Развёртывание состоит из нескольких этапов, и порядок важен: сначала инфраструктура, потом создание базы. Типовая последовательность выглядит так: устанавливается СУБД, устанавливается сервер 1С:Предприятия, затем в консоли кластера серверов создаётся новая информационная база — при этом платформа сама создаёт базу данных на SQL-сервере и всю структуру таблиц.

Есть два пути наполнения базы данными. Для новой базы достаточно загрузить конфигурацию поставщика. Для переезда с файлового варианта используют выгрузку информационной базы в файл с расширением .dt через конфигуратор в файловом режиме и последующую загрузку этого файла в свежесозданную серверную базу. Для больших баз процесс занимает заметное время и требует свободного места на дисках сервера.

Порядок развёртывания
  1. 1
    Установите и настройте СУБД: проверьте сортировку, учётную запись службы, доступность портов.
  2. 2
    Установите сервер 1С:Предприятия той же версии платформы, что используется у клиентов.
  3. 3
    Откройте консоль администрирования серверов 1С и создайте информационную базу, указав тип СУБД, имя сервера и имя базы данных.
  4. 4
    Загрузите конфигурацию или файл .dt с данными через конфигуратор.
  5. 5
    Назначьте права пользователям, настройте расписание резервного копирования средствами СУБД и проверьте тестовый вход под обычным пользователем.

Типичные ошибки и риски при работе с SQL-базой 1С

Самая опасная ошибка — попытка изменить данные напрямую в SQL-таблицах в обход платформы. Структура базы 1С содержит служебные связи, итоги регистров и служебные поля; ручная правка почти гарантированно приводит к рассогласованию данных, ошибкам при проведении документов и невозможности корректно обновить конфигурацию. Любые изменения выполняются только средствами 1С: конфигуратором, обработками, штатными механизмами.

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

Типичные ошибки
01
Прямая правка SQL-таблиц — рассогласование итогов и повреждение логической целостности базы.
02
Отсутствие обслуживания СУБД — деградация производительности и переполнение диска журналом транзакций.
03
Модель восстановления Full без регламентного бэкапа журнала — неуправляемый рост файла журнала.
04
Разные версии платформы на сервере и клиентах — ошибки подключения и отказ в обслуживании сеансов.
05
Резервные копии без тестового восстановления — ложное ощущение защищённости.

Как проверить, что связка работает корректно

После развёртывания и в ходе эксплуатации полезно контролировать несколько опорных точек. На уровне сервера 1С: в консоли кластера видны рабочие процессы и сеансы пользователей, нет массовых аварийных завершений. На уровне СУБД: база в состоянии ONLINE, резервные копии создаются по расписанию, журнал транзакций не растёт бесконтрольно. На уровне приложения: пользователи входят без ошибок, документы проводятся, отчёты формируются за приемлемое время.

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

Контрольные точки

Как проверить результат

Состояние базы в СУБД
Норма

База ONLINE, копии создаются по расписанию

Тревожный признак

База в состоянии Suspect/Recovery pending, копии не создаются

Сеансы в консоли кластера 1С
Норма

Сеансы активны, рабочие процессы стабильны

Тревожный признак

Массовые разрывы соединений, падения rphost

Скорость типовых операций
Норма

Проведение документов и отчёты выполняются за привычное время

Тревожный признак

Резкий рост длительности без изменения объёма данных

Журнал транзакций
Норма

Размер контролируем, есть бэкап журнала

Тревожный признак

Файл журнала растёт до заполнения диска

Часто задаваемые вопросы

Можно ли перенести файловую базу на SQL Server без потери данных?

Да. Стандартный путь — выгрузка базы в файл .dt через конфигуратор в файловом режиме и загрузка этого файла в заранее созданную серверную информационную базу. Перед переносом рекомендуется выполнить тестирование и исправление базы и сделать резервную копию исходного файла.

Нужно ли знать язык SQL, чтобы работать в 1С на SQL Server?

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

Подойдёт ли бесплатная редакция SQL Server Express для 1С?

Технически связка работает, но редакция Express имеет ограничения по объёму памяти, размеру базы и числу задействованных ядер процессора, поэтому подходит лишь для небольших баз и тестовых сред. Для рабочих баз с десятками пользователей обычно выбирают полноценные редакции или PostgreSQL.

Почему нельзя читать данные 1С напрямую из SQL-таблиц для отчётов?

Структура таблиц генерируется платформой и может меняться при обновлении конфигурации, а логика итогов и виртуальных таблиц неочевидна. Для внешней аналитики безопаснее использовать штатные механизмы: COM/OData-подключения, планы обмена, публикацию через веб-сервисы либо выгрузку в отдельную аналитическую базу.

Что делать, если база на SQL Server начала заметно тормозить?

Сначала зафиксируйте симптомы: какие операции замедлились и когда. Затем проверьте регламентное обслуживание СУБД (статистика, индексы, журнал транзакций), проанализируйте технологический журнал 1С и планы тяжёлых запросов. Только после диагностики имеет смысл менять настройки или наращивать ресурсы сервера.

Как организовать резервное копирование базы 1С на SQL Server?

Используйте штатные средства СУБД: регулярные полные копии базы, а при модели восстановления Full — ещё и регулярные копии журнала транзакций. Критично периодически выполнять тестовое восстановление на отдельном сервере: только проверенная копия считается настоящей резервной копией.

Итог

Что важно запомнить

SQL Server в контексте 1С — это серверная СУБД, хранящая информационную базу при клиент-серверном режиме. Платформа сама управляет структурой таблиц, прямая правка данных в обход 1С запрещена, а стабильность связки обеспечивается регламентным обслуживанием СУБД и проверенными резервными копиями.