Как сменить пароль sa на MS SQL сервере и перенастроить подключение 1С:Предприятие

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

В процессе эксплуатации серверной инфраструктуры 1С:Предприятие часто возникает задача повышения уровня безопасности. Одной из критических уязвимостей является использование стандартной учетной записи системного администратора SQL-сервера — sa (System Administrator) — для подключения баз данных. Использование sa везде и всюду нарушает принцип минимальных привилегий и создает риски полной компрометации данных при утечке пароля.

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

Проблема использования учетной записи sa

Многие администраторы при первоначальной установке «привязывают» базы 1С к пользователю sa. Это удобно, так как у этой учетной записи гарантированно есть все права. Однако, когда встает вопрос безопасности, простая смена пароля sa приводит к тому, что сервер приложений 1С теряет связь с СУБД. Рассмотрим ситуацию: если мы просто поменяем пароль в SQL Management Studio, все информационные базы в консоли администрирования 1С перестанут запускаться, выдавая ошибку авторизации. Нам придется вручную заходить в свойства каждой базы и обновлять пароль, что в условиях большого количества баз превращается в рутину.

Оптимальный алгоритм: создание выделенной учетной записи

Вместо того чтобы просто менять пароль sa, мы рекомендуем внедрить более профессиональный подход. Рассмотрим по шагам, как создать отдельного SQL-пользователя для нужд 1С и переключить базы на него.

Шаг 1: Создание учетной записи в MSSQL

Запустим SQL Server Management Studio (SSMS) и создадим новое имя входа (Login). Назовем его, например, user-1c-db. Установим для него сложный пароль. Проанализируем настройки на вкладке «Общие»:

  1. Выберем «Проверка подлинности SQL Server».
  2. Введем и подтвердим надежный пароль.
  3. Важный момент: обратим внимание на флаг «Требовать истечение срока действия пароля» (Enforce password expiration). Разберем подробнее, почему его лучше отключить для сервисных записей. Если этот флаг активен, SQL Server будет применять политики Windows. Как только срок действия пароля истечет (например, через 42 или 60 дней), 1С внезапно перестанет подключаться к базе, что вызовет простой в работе всей организации.

Шаг 2: Назначение минимально необходимых прав

Не стоит давать новому пользователю роль sysadmin. Для корректной работы сервера 1С:Предприятие достаточно следующих прав:

Шаг 3: Перенастройка подключения в консоли 1С

Теперь, когда у нас есть новый пользователь, перейдем в Консоль администрирования серверов 1С:Предприятие. Для каждой базы выполним следующие действия:

  1. Откроем свойства информационной базы.
  2. В поле «Пользователь СУБД» заменим sa на user-1c-db.
  3. Введем новый пароль.
  4. Нажмем «ОК».

Проанализируем ситуацию: в этот момент сервер 1С попытается переподключиться к SQL. Если все роли назначены верно, база продолжит работу уже под новой учеткой. После того как все базы переведены на user-1c-db, мы можем смело менять пароль у sa или вовсе отключить эту учетную запись для внешней авторизации.

Автоматизация процесса через утилиту RAC

Если в вашем кластере десятки или сотни баз, ручная правка свойств каждой базы в консоли займет слишком много времени. Разберем, как можно автоматизировать этот процесс. Мы можем воспользоваться утилитой rac, которая входит в состав платформы 1С.

Пример логики команды для изменения параметров подключения:


rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --db-user=user-1c-db --db-pwd=NewPassword123

Используя скрипты (PowerShell или Batch), мы можем получить список всех баз кластера и циклом обновить данные авторизации СУБД для каждой из них.

Тонкости и нюансы, о которых важно знать

1. Проблема очистки пула соединений

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

2. Спецсимволы в паролях

При установке нового пароля для SQL-пользователя постараемся избегать использования двойных кавычек " и точки с запятой ;. В некоторых релизах платформы 1С эти символы могут некорректно интерпретироваться при формировании строки соединения с SQL-сервером, что приведет к ошибке авторизации, даже если пароль скопирован верно.

3. Windows-аутентификация как альтернатива

Рассмотрим еще один продвинутый метод — использование Windows-аутентификации. В этом случае в свойствах базы 1С не указывается ни логин, ни пароль SQL. Сервер 1С подключается к СУБД, используя данные учетной записи, от которой запущена служба ragent (обычно это USR1CV8).

Чтобы это заработало, нужно:

Этот метод считается наиболее безопасным, так как пароли вообще не хранятся в файлах конфигурации 1С.

4. Регламентные задания

Перед началом массовой смены паролей обязательно заблокируем выполнение регламентных заданий. Если в момент смены параметров подключения запустится тяжелое задание (например, расчет себестоимости или закрытие месяца), оно может аварийно завершиться. Проанализируем состояние очереди заданий и убедимся, что активных процессов нет, прежде чем нажимать «Применить» в свойствах базы.

Заключение

Подводя итог, можно сказать, что смена пароля sa — это отличный повод навести порядок в безопасности SQL-сервера. Мы рекомендуем уйти от использования sa в пользу персональных сервисных учетных записей или Windows-аутентификации. Это не только обезопасит ваши данные, но и позволит избежать проблем в будущем, когда внезапное истечение срока действия пароля администратора может парализовать работу всей компании.

← На главную