Развертывание клиент-серверного варианта работы программы «1С:Предприятие» совместно с СУБД MS SQL Server — одна из наиболее частых задач, с которой сталкивается начинающий администратор или разработчик 1С. Очень часто при первой установке возникают ошибки связи, проблемы с авторизацией пользователей или отказы при старте фоновых служб. В этой статье мы подробно и по шагам разберем весь процесс настройки, проанализируем причины возникновения типовых сбоев и найдем надежные пути их решения.
Один из первых вопросов, с которым сталкивается пользователь при создании новой базы данных в консоли администрирования или через запуск Конфигуратора: «Что указывать в поле "Имя сервера баз данных"?». Неверный формат ввода имени моментально приводит к ошибке сетевого подключения.
Выясним, как правильно указывать имя сервера в зависимости от варианта установки MS SQL Server:
SRV-DB) или его IP-адресу в локальной сети (например, 192.168.1.100). Если и сервер «1С:Предприятия», и СУБД MS SQL установлены на одном и том же физическом компьютере, допускается использовать локальные обозначения: localhost, (local) или просто точку . (без скобок).SRV-DB\SQLEXPRESS. Попытка указать просто имя компьютера приведет к ошибке, так как 1С не сможет определить нужный экземпляр.192.168.1.100,14330 или SRV-DB\SQLEXPRESS,14330.По умолчанию сразу после чистой установки MS SQL Server многие сетевые протоколы, включая TCP/IP, отключены в целях безопасности. Это приводит к тому, что внешние службы, включая сервер 1С, не могут достучаться до СУБД. Нам необходимо вручную активировать нужные интерфейсы взаимодействия.
Рассмотрим порядок действий по шагам:
SQL Server Network Configuration (Сетевая конфигурация SQL Server) и перейдем к разделу Protocols for... (Протоколы для вашего экземпляра СУБД).Enabled (Включен) в положение Yes. На вкладке IP Addresses прокрутим список до самого низа к разделу IPAll и проверим, чтобы в поле TCP Port был указан стандартный порт 1433 (или иной настроенный вами порт).Enabled.SQL Server Services в этой же утилите, выберем службу SQL Server вашего экземпляра, кликнем правой кнопкой мыши и выберем Restart (Перезапустить). Любые изменения сетевых протоколов вступают в силу только после перезапуска службы СУБД!Очень распространенная ошибка при первой настройке связки 1С и SQL — использование учетных записей СУБД при отключенном смешанном режиме авторизации. По умолчанию MS SQL Server часто устанавливается в режиме исключительно Windows-авторизации (Windows Authentication mode). В таком режиме авторизоваться в СУБД с использованием логина и пароля SQL-пользователя (включая системного администратора sa) невозможно, что приведет к ошибкам аутентификации в 1С.
Давайте настроим смешанный режим авторизации:
Server authentication (Проверка подлинности сервера) переставим переключатель в положение SQL Server and Windows Authentication mode (Смешанный режим).OK для сохранения изменений.Использовать встроенную учетную запись администратора СУБД sa для повседневной работы сервера 1С крайне не рекомендуется из соображений безопасности. Гораздо правильнее создать выделенного пользователя СУБД с ограниченным набором прав, достаточных только для нужд сервера «1С:Предприятия».
Проанализируем процесс создания такого пользователя через SQL Server Management Studio:
Security (Безопасность), затем нажмем правой кнопкой мыши на подпапку Logins (Имена входа) и выберем New Login... (Создать имя входа).Login name введем понятное имя, например, usr1c_db.Enforce password expiration (Истечь срок действия пароля), чтобы избежать внезапной блокировки подключения сервера 1С в будущем.dbcreator — дает право на создание, изменение и удаление баз данных. Эта роль необходима 1С при первоначальном создании базы из консоли или конфигуратора.processadmin — позволяет управлять процессами внутри SQL Server (например, принудительно завершать зависшие сессии 1С).public — базовая роль, назначаемая всем пользователям по умолчанию.usr1c_db не обязательно. Достаточно в свойствах самой базы данных во вкладке Permissions или Users сопоставить этого пользователя с базой и выдать ему роль владельца db_owner.OK, чтобы завершить создание пользователя.Очень часто служба сервера «1С:Предприятия» (ragent) отказывается запускаться, либо запускается, но не может подключиться к СУБД. Причиной тому часто служат проблемы с правами учетной записи, от имени которой стартует эта служба.
При установке платформы 1С инсталлятор автоматически создает локального системного пользователя с именем USR1CV8. Однако при запуске службы под этим пользователем система может выдать ошибку из-за отсутствия необходимых прав в ОС Windows. Рассмотрим, как правильно настроить учетную запись для службы 1С:
Многие начинающие администраторы решают проблему запуска службы простым переключением режима входа службы на работу под «Системной учетной записью» (Local System). Действительно, в таком режиме служба запускается мгновенно, так как обладает максимальными правами в операционной системе Windows. Однако с точки зрения безопасности этот метод категорически неприемлем для рабочих сред! В случае взлома сервера через уязвимости 1С, злоумышленники получат полный контроль над всей операционной системой.
Чтобы служба стабильно запускалась под штатным ограниченным пользователем USR1CV8, выполним следующие настройки:
Win + R, введите команду secpol.msc и нажмите Enter.Локальные политики -> Назначение прав пользователя.Добавить пользователя или группу, введем имя локального пользователя USR1CV8 (или выберем его через поиск), нажмем Применить и OK.USR1CV8 должен иметь полный доступ к каталогу, где хранятся настройки кластера серверов 1С. По умолчанию это папка C:\Program Files\1cv8\srvinfo.Свойства -> вкладка Безопасность.Изменить, добавим пользователя USR1CV8 и установим для него галочку Полный доступ (Full Control). Без этих прав служба 1С при запуске не сможет создать файлы конфигурации кластера и аварийно завершится.services.msc).Вход в систему убедимся, что выбран переключатель С учетной записью, указан пользователь .\USR1CV8 и введен правильный пароль.Если сервер 1С и MS SQL Server физически находятся на разных машинах, то сетевые экраны (Firewall) могут заблокировать их взаимодействие даже при полностью верных настройках самих программ. Для беспрепятственной работы нам потребуется открыть ряд стандартных портов.
Выясним, какие порты должны быть открыты для входящих соединений на каждом из серверов:
1433 — стандартный порт для дефолтных подключений к SQL Server.1434 — порт службы SQL Server Browser. Он необходим, если вы используете именованный экземпляр (например, Express-версию), работающий на динамических портах. Служба Browser помогает клиентским приложениям определить текущий динамический порт СУБД.1540 — порт агента сервера 1С.1541 — порт главного менеджера кластера 1С.1560-1591 — порты рабочих процессов 1С, которые непосредственно обслуживают подключения пользователей.Для настройки правил брандмауэра откройте Брандмауэр Защитника Windows в режиме повышенной безопасности, выберите раздел Правила для входящих подключений и создайте новые правила для указанных портов.
Если вы решили создать базу данных непосредственно через SQL Server Management Studio перед тем, как подключить её к 1С, вам необходимо обратить особое внимание на кодировку базы данных. Выбор неправильных параметров сортировки (Collation) — классическая ошибка, которая делает невозможным последующую загрузку конфигурации 1С.
Для баз данных «1С:Предприятие», содержащих русскоязычные данные, критически важно устанавливать кодировку строго: Cyrillic_General_CI_AS.
Разберем, к чему приведет неправильный выбор:
Latin1 или иных языковых стандартов, отличных от кириллического, при попытке загрузить информационную базу (файл формата .dt) или при запуске первого обновления конфигурации вы столкнетесь с критической ошибкой несовместимости типов СУБД.Cyrillic_General_CI_AS и повторный импорт данных.Мы с вами подробно изучили весь цикл развертывания клиент-серверной связки «1С:Предприятие» и СУБД MS SQL Server. Настроив правильное именование серверов, включив необходимые сетевые протоколы, переведя СУБД в смешанный режим авторизации и обезопасив запуск системной службы 1С, вы гарантированно избежите большинства стандартных ошибок при первом запуске информационной базы. Помните, что безопасность и производительность системы закладываются на этапе первоначальной инсталляции СУБД и платформы!