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

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

Как подключиться к базе 1С на сервере SQL

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

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

Ошибки на любом из этих этапов приводят к характерным сообщениям: «ошибка соединения с сервером 1С», «база данных не обнаружена» или отказу в доступе от имени пользователя SQL. Большинство таких проблем решается проверкой сетевых протоколов, прав учётной записи и корректности параметров, указанных при создании базы в консоли кластера.

Ниже разобран полный цикл: подготовка SQL Server, создание информационной базы через консоль администрирования, подключение клиентских рабочих мест, проверка результата и разбор типичных сбоев. Инструкция ориентирована на связку 1С:Предприятие 8.3 и Microsoft SQL Server, но общая логика применима и к PostgreSQL.

Как устроено подключение 1С к SQL Server

В клиент-серверной архитектуре 1С участвуют три компонента. Клиентское приложение (толстый, тонкий или веб-клиент) соединяется с агентом сервера 1С:Предприятия по сети, обычно через порт 1541. Кластер серверов через рабочие процессы (порты из диапазона 1560–1591) выполняет прикладной код и обращается к СУБД по протоколу TCP/IP, для MS SQL Server стандартный порт — 1433.

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

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

Подготовка SQL Server: протоколы, службы и учётная запись

Перед созданием информационной базы убедитесь, что SQL Server принимает сетевые подключения. Откройте SQL Server Configuration Manager, перейдите в раздел сетевой конфигурации для вашего экземпляра и включите протокол TCP/IP. Если меняли настройку, перезапустите службу SQL Server — без перезапуска изменения не применятся.

Проверьте, что служба SQL Server Browser запущена, если используется именованный экземпляр (например, SERVER\SQLEXPRESS). Без неё клиенты не смогут определить динамический порт экземпляра. Также откройте порт 1433 (или фактический порт экземпляра) в брандмауэре Windows на сервере СУБД.

Определите учётную запись, от имени которой сервер 1С будет обращаться к базе. Практикуются два варианта: аутентификация SQL Server с отдельным логином или аутентификация Windows от имени учётной записи службы агента сервера 1С. В обоих случаях учётной записи нужны права на создание базы данных (роль dbcreator на этапе создания) и полные права владельца (db_owner) на конкретную базу после её создания.

Создание информационной базы через консоль кластера

Основной способ подключения базы 1С к SQL Server — регистрация информационной базы в консоли администрирования серверов 1С. Откройте оснастку «Администрирование серверов 1С:Предприятия», найдите нужный сервер и кластер, разверните ветку «Информационные базы» и выберите создание новой базы.

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

Порядок действий
  1. 1
    Убедитесь, что службы агента сервера 1С и SQL Server запущены
  2. 2
    Включите TCP/IP на SQL Server и откройте порт в брандмауэре
  3. 3
    Откройте консоль администрирования серверов 1С и выберите кластер
  4. 4
    Создайте новую информационную базу, указав сервер СУБД, имя базы и учётные данные
  5. 5
    Отметьте создание базы данных, если она ещё не существует
  6. 6
    Откройте базу в конфигураторе и загрузите конфигурацию или восстановите выгрузку .dt

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

Альтернатива: создание через конфигуратор

Тот же результат даёт создание базы через диалог запуска 1С: при добавлении новой информационной базы выберите вариант «на сервере 1С:Предприятия» и укажите те же параметры — кластер, имя базы, сервер СУБД и учётные данные. Конфигуратор обратится к кластеру и зарегистрирует базу автоматически. Этот путь удобен, когда под рукой нет консоли администрирования.

Подключение клиентских рабочих мест

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

Клиент должен иметь сетевой доступ к серверу 1С по портам агента и рабочих процессов. Если сервер и клиенты в разных подсетях или между ними есть межсетевой экран, проверьте доступность портов 1540, 1541 и диапазона рабочих процессов. Имя сервера должно корректно разрешаться через DNS — при сомнениях проверьте подключение по IP-адресу.

Для удалённых пользователей вместо прямого клиентского подключения часто публикуют базу на веб-сервере (IIS или Apache) — тогда доступ идёт через браузер или тонкий клиент по HTTP/HTTPS, и открывать порты кластера наружу не требуется.

Проверка результата и контрольные точки

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

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

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

Список баз в консоли кластера
Норма

Информационная база присутствует, параметры СУБД указаны верно

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

Базы нет в списке или указан неверный сервер СУБД

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

База в статусе ONLINE, таблицы 1С созданы

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

База в статусе SUSPECT/RESTORING или отсутствует

Запуск клиента
Норма

База открывается, сеанс виден в консоли кластера

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

Ошибка соединения с сервером или отказ в доступе

Сетевой доступ
Норма

Порты 1541 и 1433 отвечают на проверку с клиента

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

Превышено время ожидания при проверке портов

Быструю проверку доступности порта можно выполнить командой PowerShell с клиентского компьютера:

powershell
Test-NetConnection -ComputerName srv-1c -Port 1541

Если проверка порта 1541 к серверу 1С успешна, а база всё равно не открывается, проблема почти наверняка на участке «сервер 1С — SQL Server»: проверяйте учётные данные СУБД и протокол TCP/IP.

Типичные ошибки и способы их устранения

Сообщение «Ошибка соединения с сервером 1С:Предприятия» обычно означает, что клиент не достучался до агента сервера: служба агента остановлена, порт закрыт брандмауэром или имя сервера не разрешается. Проверьте службу «Агент сервера 1С:Предприятия» на сервере и сетевую доступность порта 1541.

Ошибка вида «Ошибка СУБД: Login failed for user» указывает на проблему аутентификации на SQL Server: неверный пароль, отключённый логин или режим аутентификации «только Windows», тогда как используется SQL-логин. Режим смешанной аутентификации включается в свойствах сервера в SQL Server Management Studio, после чего требуется перезапуск службы.

Типичные ошибки
01
Использование именованного экземпляра без службы SQL Browser — сервер 1С не находит СУБД по имени
02
Указание в параметрах базы неправильного имени сервера СУБД — база не создаётся или не открывается
03
Разные версии платформы на клиенте и сервере — отказ в подключении с сообщением о несовпадении версий
04
Выдача служебному логину чрезмерных прав вместо db_owner на одну базу — риск для всех баз сервера
05
Попытка подключить клиента напрямую к SQL Server в обход кластера — такая схема в 1С не поддерживается

Отдельный случай — база создана, но при первом входе конфигуратор требует обновление и завершается ошибкой. Это нормально для базы, восстановленной из выгрузки другой версии конфигурации: запустите конфигуратор от имени пользователя с правами администратора базы и дождитесь завершения реструктуризации, не прерывая процесс.

Маршрут выбора при проблемах с подключением

Маршрут решения

Как выбрать действие

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

Если после всех проверок проблема не локализована, смотрите технологический журнал сервера 1С и журнал ошибок SQL Server — там фиксируются точные тексты ошибок с указанием этапа, на котором произошёл сбой.

Итог

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

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

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

Можно ли подключить клиента 1С напрямую к SQL Server, минуя сервер 1С?

Нет. Архитектура 1С:Предприятия не предусматривает прямой работы клиента с СУБД. Все обращения к данным идут через рабочие процессы кластера серверов, поэтому сервер 1С:Предприятия является обязательным компонентом клиент-серверной схемы.

Какие права нужны учётной записи SQL Server для базы 1С?

На этапе создания базы — право создавать базы данных (например, роль dbcreator), после создания достаточно роли db_owner на конкретную базу. Выдавать sysadmin или использовать sa на постоянной основе не требуется и небезопасно.

Как перенести файловую базу 1С на SQL Server?

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

Почему база видна в консоли кластера, но не открывается у пользователей?

Чаще всего причины — недоступность порта 1541 с клиентских компьютеров, несовпадение версий платформы на клиенте и сервере либо опечатка в имени информационной базы при добавлении её в список. Имя должно точно совпадать с тем, что указано в консоли кластера.

Можно ли использовать PostgreSQL вместо MS SQL Server?

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

Где посмотреть, кто сейчас подключён к базе?

В консоли администрирования серверов 1С: выберите информационную базу и откройте список сеансов. Там видны пользователи, типы клиентов, время начала сеанса и активность. Оттуда же можно принудительно завершить зависший сеанс.