Как правильно настроить подключение 1С к MS SQL Server и устранить типичные ошибки запуска

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Шаг 1. Разбираемся с именем SQL-сервера

Один из первых вопросов, с которым сталкивается пользователь при создании новой базы данных в консоли администрирования или через запуск Конфигуратора: «Что указывать в поле "Имя сервера баз данных"?». Неверный формат ввода имени моментально приводит к ошибке сетевого подключения.

Выясним, как правильно указывать имя сервера в зависимости от варианта установки MS SQL Server:

Шаг 2. Активация сетевых протоколов (TCP/IP и Shared Memory)

По умолчанию сразу после чистой установки MS SQL Server многие сетевые протоколы, включая TCP/IP, отключены в целях безопасности. Это приводит к тому, что внешние службы, включая сервер 1С, не могут достучаться до СУБД. Нам необходимо вручную активировать нужные интерфейсы взаимодействия.

Рассмотрим порядок действий по шагам:

  1. Откроем утилиту SQL Server Configuration Manager (Диспетчер конфигурации SQL Server). Если вы не можете найти ее в меню «Пуск», можно воспользоваться оснасткой управления компьютером или запустить соответствующий msc-файл через командную строку.
  2. В левой панели развернем ветку SQL Server Network Configuration (Сетевая конфигурация SQL Server) и перейдем к разделу Protocols for... (Протоколы для вашего экземпляра СУБД).
  3. Обратим внимание на состояние протоколов. Для корректной работы нам обязательно понадобятся:
    • TCP/IP: Именно по этому протоколу чаще всего общаются сервер 1С и SQL Server. Дважды кликнем по нему, в открывшемся окне переключим параметр Enabled (Включен) в положение Yes. На вкладке IP Addresses прокрутим список до самого низа к разделу IPAll и проверим, чтобы в поле TCP Port был указан стандартный порт 1433 (или иной настроенный вами порт).
    • Shared Memory (Общая память): Этот протокол критически важен, если сервер 1С и СУБД установлены на одном физическом сервере. Обмен данными через общую память исключает сетевые задержки стека TCP/IP, ускоряя обмен данными между процессами СУБД и 1С на 10–15%. Убедимся, что его состояние также установлено в Enabled.
  4. После включения протоколов перейдем в раздел SQL Server Services в этой же утилите, выберем службу SQL Server вашего экземпляра, кликнем правой кнопкой мыши и выберем Restart (Перезапустить). Любые изменения сетевых протоколов вступают в силу только после перезапуска службы СУБД!

Шаг 3. Перевод SQL Server в смешанный режим авторизации

Очень распространенная ошибка при первой настройке связки 1С и SQL — использование учетных записей СУБД при отключенном смешанном режиме авторизации. По умолчанию MS SQL Server часто устанавливается в режиме исключительно Windows-авторизации (Windows Authentication mode). В таком режиме авторизоваться в СУБД с использованием логина и пароля SQL-пользователя (включая системного администратора sa) невозможно, что приведет к ошибкам аутентификации в 1С.

Давайте настроим смешанный режим авторизации:

  1. Запустим утилиту SQL Server Management Studio (SSMS) и подключимся к нашему серверу под учетной записью администратора Windows.
  2. В окне обозревателя объектов (Object Explorer) нажмем правой кнопкой мыши на самый верхний корневой элемент с именем нашего сервера и выберем пункт Properties (Свойства).
  3. В открывшемся окне свойств сервера перейдем на вкладку Security (Безопасность).
  4. В разделе Server authentication (Проверка подлинности сервера) переставим переключатель в положение SQL Server and Windows Authentication mode (Смешанный режим).
  5. Нажмем кнопку OK для сохранения изменений.
  6. Для того чтобы настройки применились, кликнем правой кнопкой мыши на корень сервера в SSMS и выберем пункт Restart (Перезапустить).

Шаг 4. Настройка прав и создание пользователя в SQL Server

Использовать встроенную учетную запись администратора СУБД sa для повседневной работы сервера 1С крайне не рекомендуется из соображений безопасности. Гораздо правильнее создать выделенного пользователя СУБД с ограниченным набором прав, достаточных только для нужд сервера «1С:Предприятия».

Проанализируем процесс создания такого пользователя через SQL Server Management Studio:

  1. В обозревателе объектов развернем папку Security (Безопасность), затем нажмем правой кнопкой мыши на подпапку Logins (Имена входа) и выберем New Login... (Создать имя входа).
  2. В поле Login name введем понятное имя, например, usr1c_db.
  3. Выберем тип аутентификации SQL Server authentication.
  4. Зададим надежный пароль и подтвердим его. Рекомендуется снять галочку Enforce password expiration (Истечь срок действия пароля), чтобы избежать внезапной блокировки подключения сервера 1С в будущем.
  5. На левой панели перейдем в раздел Server Roles (Роли сервера). Чтобы сервер 1С мог корректно создавать новые базы данных и управлять их сеансами, нашему пользователю необходимо назначить следующие серверные роли:
    • dbcreator — дает право на создание, изменение и удаление баз данных. Эта роль необходима 1С при первоначальном создании базы из консоли или конфигуратора.
    • processadmin — позволяет управлять процессами внутри SQL Server (например, принудительно завершать зависшие сессии 1С).
    • public — базовая роль, назначаемая всем пользователям по умолчанию.
  6. Если база данных уже создана администратором на стороне SQL вручную, то выдавать глобальные роли сервера пользователю usr1c_db не обязательно. Достаточно в свойствах самой базы данных во вкладке Permissions или Users сопоставить этого пользователя с базой и выдать ему роль владельца db_owner.
  7. Нажмите кнопку OK, чтобы завершить создание пользователя.

Шаг 5. Безопасный запуск и настройка службы сервера 1С

Очень часто служба сервера «1С:Предприятия» (ragent) отказывается запускаться, либо запускается, но не может подключиться к СУБД. Причиной тому часто служат проблемы с правами учетной записи, от имени которой стартует эта служба.

При установке платформы 1С инсталлятор автоматически создает локального системного пользователя с именем USR1CV8. Однако при запуске службы под этим пользователем система может выдать ошибку из-за отсутствия необходимых прав в ОС Windows. Рассмотрим, как правильно настроить учетную запись для службы 1С:

Вариант «Костыля» (Использование системной учетной записи Local System)

Многие начинающие администраторы решают проблему запуска службы простым переключением режима входа службы на работу под «Системной учетной записью» (Local System). Действительно, в таком режиме служба запускается мгновенно, так как обладает максимальными правами в операционной системе Windows. Однако с точки зрения безопасности этот метод категорически неприемлем для рабочих сред! В случае взлома сервера через уязвимости 1С, злоумышленники получат полный контроль над всей операционной системой.

Правильный и безопасный вариант настройки службы под USR1CV8

Чтобы служба стабильно запускалась под штатным ограниченным пользователем USR1CV8, выполним следующие настройки:

  1. Настройка локальных политик безопасности:
    • Откроем редактор локальной политики безопасности. Для этого нажмите сочетание клавиш Win + R, введите команду secpol.msc и нажмите Enter.
    • Перейдем по пути: Локальные политики -> Назначение прав пользователя.
    • Найдем политику с названием Вход в качестве службы (Log on as a service) и дважды кликнем по ней.
    • Нажмем кнопку Добавить пользователя или группу, введем имя локального пользователя USR1CV8 (или выберем его через поиск), нажмем Применить и OK.
  2. Назначение прав на системные папки:
    • Пользователь USR1CV8 должен иметь полный доступ к каталогу, где хранятся настройки кластера серверов 1С. По умолчанию это папка C:\Program Files\1cv8\srvinfo.
    • Перейдем к этой папке в проводнике Windows, кликнем правой кнопкой мыши -> Свойства -> вкладка Безопасность.
    • Нажмем кнопку Изменить, добавим пользователя USR1CV8 и установим для него галочку Полный доступ (Full Control). Без этих прав служба 1С при запуске не сможет создать файлы конфигурации кластера и аварийно завершится.
  3. Запуск службы:
    • Откроем диспетчер служб Windows (команда services.msc).
    • Найдем службу Агент сервера 1С:Предприятия 8.3.
    • В свойствах службы на вкладке Вход в систему убедимся, что выбран переключатель С учетной записью, указан пользователь .\USR1CV8 и введен правильный пароль.
    • Запустим службу. Теперь она успешно запустится в безопасном режиме с минимально необходимыми правами.

Шаг 6. Настройка сетевого экрана (Брандмауэра Windows)

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

Выясним, какие порты должны быть открыты для входящих соединений на каждом из серверов:

Для настройки правил брандмауэра откройте Брандмауэр Защитника Windows в режиме повышенной безопасности, выберите раздел Правила для входящих подключений и создайте новые правила для указанных портов.

Шаг 7. Сортировка базы данных (Collation) — подводный камень при создании баз вручную

Если вы решили создать базу данных непосредственно через SQL Server Management Studio перед тем, как подключить её к 1С, вам необходимо обратить особое внимание на кодировку базы данных. Выбор неправильных параметров сортировки (Collation) — классическая ошибка, которая делает невозможным последующую загрузку конфигурации 1С.

Для баз данных «1С:Предприятие», содержащих русскоязычные данные, критически важно устанавливать кодировку строго: Cyrillic_General_CI_AS.

Разберем, к чему приведет неправильный выбор:

Подведем итоги совместной настройки

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

← На главную