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

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

Как привязать 1С к SQL Server: пошаговая инструкция

Как привязать 1С к SQL Server: установка СУБД, создание базы через консоль кластера, настройка прав, проверка подключения и типичные ошибки.

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

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

Ниже разобран полный цикл: от подготовки SQL Server до проверки работоспособности базы, а также типичные ошибки, из-за которых подключение не устанавливается.

Что понадобится перед началом работы

Для развёртывания клиент-серверной связки потребуются три программных компонента и учётные записи с достаточными правами. Проверьте их наличие до начала установки, чтобы не прерываться на середине.

  • Дистрибутив Microsoft SQL Server подходящей редакции (Express — только для небольших баз, Standard или Enterprise — для рабочих систем).
  • Дистрибутив платформы 1С:Предприятия той же разрядности, что и планируемая архитектура сервера (рекомендуется 64-бит).
  • Учётная запись Windows с правами администратора на сервере, куда ставится SQL Server и сервер 1С.
  • Учётная запись в SQL Server с правами на создание баз данных (роль sysadmin или dbcreator).
  • Файл выгрузки конфигурации (.dt) или пустая конфигурация для загрузки.

Обратите внимание на ограничения SQL Server Express: ограничение на размер базы и объём используемой памяти. Для базы, которая активно растёт, этой редакции быстро станет мало, и миграцию придётся делать под нагрузкой. Если сомневаетесь — сразу ставьте Standard или используйте Developer-редакцию для тестового контура.

Шаг 1. Установка и подготовка SQL Server

Установите SQL Server со стандартными параметрами, но обратите внимание на несколько критичных для 1С настроек. Во-первых, режим проверки подлинности: для 1С удобнее смешанный режим (SQL Server и Windows), так как сервер 1С может подключаться под отдельной SQL-учётной записью. Во-вторых, сортировка (collation) — для русскоязычных баз традиционно используется Cyrillic_General_CI_AS.

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

Проверьте, что служба SQL Server Browser запущена и TCP/IP-протокол включён в конфигурации сети SQL Server. Если сервер 1С и SQL Server стоят на разных машинах, убедитесь, что порт SQL Server (по умолчанию 1433) открыт в брандмауэре.

Шаг 2. Установка сервера 1С:Предприятия

Запустите установщик платформы и выберите компонент «Сервер 1С:Предприятия». Вместе с ним установите «Администрирование сервера 1С:Предприятия» — консоль управления кластером, без которой создать базу не получится. Если планируется работа через веб-клиент или публикация на веб-сервере, добавьте соответствующие модули расширения.

При установке мастер предложит создать пользователя, под которым будет работать служба агента сервера (по умолчанию USR1CV8). Оставьте предложенный вариант — службе нужны права на запись в каталог служебных файлов кластера, и установщик настроит их автоматически.

После установки проверьте, что служба «Агент сервера 1С:Предприятия» запущена. Если служба не стартует, чаще всего причина в правах учётной записи или конфликте портов — агент по умолчанию использует диапазон портов, начинающийся с 1540.

Шаг 3. Создание информационной базы в кластере

Откройте консоль «Администрирование серверов 1С:Предприятия», разверните узел локального кластера и в разделе «Информационные базы» создайте новую базу. Именно здесь происходит собственно «привязка» 1С к SQL: в параметрах базы указывается, к какой СУБД и к какому экземпляру она относится.

Порядок создания базы в кластере
  1. 1
    Откройте консоль администрирования серверов 1С и разверните кластер
  2. 2
    В разделе «Информационные базы» выберите «Создать» — «Информационная база»
  3. 3
    Укажите имя базы (латиницей, без пробелов — так будет называться и база в SQL)
  4. 4
    Выберите тип СУБД — MS SQL Server
  5. 5
    В поле «Сервер баз данных» укажите имя или IP-адрес сервера SQL
  6. 6
    Введите имя базы данных и учётные данные пользователя SQL
  7. 7
    Оставьте флаг «Создать базу данных в случае её отсутствия» и подтвердите
  8. 8
    Дождитесь появления базы в списке без ошибок

Если флаг создания базы снят, а база с указанным именем ещё не существует в SQL Server, кластер выдаст ошибку подключения. Для новой базы флаг должен стоять; для подключения уже существующей базы (например, восстановленной из бэкапа) — снят, при этом имя должно точно совпадать.

После создания запустите конфигуратор 1С, добавьте базу в список как серверную (указав имя сервера 1С и имя базы в кластере) и загрузите конфигурацию из файла .dt через «Загрузить информационную базу». Либо создайте пустую конфигурацию и наполните её через объединение с cf-файлом.

Проверка подключения и работоспособности

Первый признак успешной привязки — база открывается в конфигураторе и в режиме «Предприятие» без ошибок соединения. Дополнительно проверьте со стороны SQL Server: в SQL Server Management Studio должна появиться база с заданным именем, а в ней — таблицы, созданные платформой (Config, Params и другие служебные).

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

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

База в списке кластера
Норма

Присутствует, без значков ошибок

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

База не создаётся, ошибка соединения с СУБД

База в SQL Server Management Studio
Норма

База существует, есть служебные таблицы платформы

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

Базы нет или она пустая

Запуск режима «Предприятие»
Норма

Открывается окно входа, список пользователей

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

Ошибка соединения с сервером 1С или СУБД

Служба агента сервера 1С
Норма

Статус «Работает» в диспетчере служб

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

Служба остановлена или перезапускается

Полезно сразу провести простую нагрузочную проверку: создать и провести несколько документов, сформировать отчёт. Если операции выполняются без таймаутов и ошибок блокировок — связка работает корректно.

Типичные ошибки при подключении

Типичные ошибки
01
Несовпадение разрядности сервера 1С и драйверов доступа к БД — кластер не видит SQL Server
02
Учётная запись SQL без прав на создание баз — ошибка при создании информационной базы
03
Отключён протокол TCP/IP в настройках SQL Server — ошибка сетевого соединения
04
Имя базы с пробелами или кириллицей — сбои при обращении из кластера
05
Закрытый порт 1433 в брандмауэре при разнесённой архитектуре — таймаут подключения
06
Использование sa или административной учётки для постоянной работы — риск компрометации всего сервера

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

Ограничения и альтернативные варианты

Связка 1С + SQL Server — не единственный клиент-серверный вариант. Платформа также поддерживает PostgreSQL (в том числе бесплатные сборки), Oracle Database и IBM DB2. Выбор зависит от лицензионного бюджета, квалификации администраторов и требований к нагрузке.

Сравнение вариантов СУБД для 1С

MS SQL Server

Самый распространённый вариант для 1С, хорошая поддержка и документация. Ограничение — стоимость лицензий Standard/Enterprise

PostgreSQL

Бесплатная СУБД со специальными сборками под 1С. Требует более тонкой настройки и опыта администрирования

Файловый режим

Подходит для 1–5 пользователей и небольших баз. Не требует СУБД, но ограничен по нагрузке и надёжности

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

Итог

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

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

Частые вопросы

Можно ли подключить 1С к SQL Server без сервера 1С:Предприятия?

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

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

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

Какая редакция SQL Server нужна для небольшой компании?

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

Почему кластер выдаёт ошибку «Ошибка соединения с сервером баз данных»?

Чаще всего причины такие: неверно указано имя сервера SQL, отключён протокол TCP/IP в конфигурации СУБД, закрыт порт в брандмауэре или у учётной записи нет прав. Проверяйте в этом порядке: доступность сервера по сети, настройки протоколов, права логина.

Безопасно ли напрямую выполнять запросы к базе 1С в SQL Server?

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

Нужно ли настраивать регламентные задания обслуживания в SQL Server?

Да. Для стабильной работы рекомендуется настроить регулярное обновление статистики, обслуживание индексов и резервное копирование средствами SQL Server. Без этого со временем деградирует производительность, а при сбое восстановить данные будет нечем.