Администрирование · 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С и SQL Server запущены
- 2Включите TCP/IP на SQL Server и откройте порт в брандмауэре
- 3Откройте консоль администрирования серверов 1С и выберите кластер
- 4Создайте новую информационную базу, указав сервер СУБД, имя базы и учётные данные
- 5Отметьте создание базы данных, если она ещё не существует
- 6Откройте базу в конфигураторе и загрузите конфигурацию или восстановите выгрузку .dt
После создания запись появится в списке информационных баз кластера. Сама база при этом пустая — чтобы получить рабочую систему, нужно загрузить конфигурацию: открыть базу в конфигураторе и выполнить загрузку из файла выгрузки (.dt) или из файла конфигурации (.cf) с последующим обновлением структуры базы данных.
Альтернатива: создание через конфигуратор
Тот же результат даёт создание базы через диалог запуска 1С: при добавлении новой информационной базы выберите вариант «на сервере 1С:Предприятия» и укажите те же параметры — кластер, имя базы, сервер СУБД и учётные данные. Конфигуратор обратится к кластеру и зарегистрирует базу автоматически. Этот путь удобен, когда под рукой нет консоли администрирования.
Подключение клиентских рабочих мест
Когда информационная база зарегистрирована в кластере, пользователи добавляют её в свой список баз. В окне запуска 1С нажмите «Добавить», выберите «Добавление в список существующей информационной базы», затем тип расположения — «На сервере 1С:Предприятия». Укажите имя сервера (кластера) и точное имя информационной базы, как оно задано в консоли.
Клиент должен иметь сетевой доступ к серверу 1С по портам агента и рабочих процессов. Если сервер и клиенты в разных подсетях или между ними есть межсетевой экран, проверьте доступность портов 1540, 1541 и диапазона рабочих процессов. Имя сервера должно корректно разрешаться через DNS — при сомнениях проверьте подключение по IP-адресу.
Для удалённых пользователей вместо прямого клиентского подключения часто публикуют базу на веб-сервере (IIS или Apache) — тогда доступ идёт через браузер или тонкий клиент по HTTP/HTTPS, и открывать порты кластера наружу не требуется.
Проверка результата и контрольные точки
Признак успешного подключения — база открывается в режиме предприятия, отображаются данные, а в консоли кластера видны активные сеансы пользователей. Дополнительно убедитесь в SQL Server Management Studio, что база данных существует, находится в состоянии ONLINE и содержит служебные таблицы 1С.
Как проверить результат
Информационная база присутствует, параметры СУБД указаны верно
Базы нет в списке или указан неверный сервер СУБД
База в статусе ONLINE, таблицы 1С созданы
База в статусе SUSPECT/RESTORING или отсутствует
База открывается, сеанс виден в консоли кластера
Ошибка соединения с сервером или отказ в доступе
Порты 1541 и 1433 отвечают на проверку с клиента
Превышено время ожидания при проверке портов
Быструю проверку доступности порта можно выполнить командой 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, после чего требуется перезапуск службы.
Отдельный случай — база создана, но при первом входе конфигуратор требует обновление и завершается ошибкой. Это нормально для базы, восстановленной из выгрузки другой версии конфигурации: запустите конфигуратор от имени пользователя с правами администратора базы и дождитесь завершения реструктуризации, не прерывая процесс.
Маршрут выбора при проблемах с подключением
Как выбрать действие
Если после всех проверок проблема не локализована, смотрите технологический журнал сервера 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С: выберите информационную базу и откройте список сеансов. Там видны пользователи, типы клиентов, время начала сеанса и активность. Оттуда же можно принудительно завершить зависший сеанс.