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

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

Как посмотреть пароль SQL в 1С

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

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

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

Ниже разобраны легальные способы восстановить доступ к SQL-базе 1С: проверка сохранённых учётных данных, сброс пароля sa с правами администратора Windows, работа через Management Studio и варианты для PostgreSQL. Все действия предполагают, что у вас есть законные права администратора на сервер.

Где вообще хранится пароль SQL в связке с 1С

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

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

Проверяем сохранённые пароли до сброса

Прежде чем что-либо сбрасывать, стоит поискать пароль в местах, где он мог остаться в открытом виде. Это быстрее и безопаснее, чем менять учётные данные, за которые может «цепляться» работающий сервер 1С.

Типичные места, где пароль находится в открытом виде:

  • внутренняя документация администратора или записная книжка IT-отдела;
  • корпоративный менеджер паролей (KeePass, 1Password и аналоги);
  • скрипты обслуживания — бэкапы через sqlcmd, планировщик задач, bat-файлы, где пароль передаётся параметром;
  • настройки сторонних программ, которые подключаются к той же базе (системы отчётности, обмены данными).

Если база создавалась давно и никто не помнит пароль, проверьте также, не используется ли Windows-аутентификация. В этом режиме пароль SQL вообще не нужен: сервер 1С подключается от имени учётной записи, под которой работает его служба, и доступ к СУБД определяется правами Windows.

Порядок поиска перед сбросом
  1. 1
    Проверьте документацию и менеджер паролей
  2. 2
    Осмотрите скрипты бэкапов и планировщик задач на сервере
  3. 3
    Уточните, не используется ли Windows-аутентификация в свойствах базы в консоли кластера
  4. 4
    Только если ничего не найдено — переходите к сбросу пароля

Как сбросить пароль sa через Management Studio

Если у вас есть права администратора Windows на сервере, где установлен SQL Server, сброс пароля sa занимает несколько минут и не требует знания старого пароля. Это основной рабочий способ восстановления доступа.

Подключитесь к серверу по RDP или локально, запустите SQL Server Management Studio и при подключении выберите тип аутентификации «Проверка подлинности Windows». Если ваша учётная запись Windows входит в администраторы SQL Server (по умолчанию группа локальных администраторов имела такие права в старых версиях; в новых — только если её добавили при установке), вы попадёте внутрь без пароля SQL.

Далее в обозревателе объектов откройте ветку «Безопасность — Имена входа», найдите sa, откройте свойства двойным щелчком и на странице «Общие» задайте новый пароль. Убедитесь, что на странице «Состояние» вход разрешён, а сама учётная запись включена. После этого проверьте подключение: откройте новое окно подключения, выберите «Проверка подлинности SQL Server» и войдите под sa с новым паролем.

Если Windows-вход в Management Studio не работает

Когда ваша учётная запись Windows не имеет прав на SQL Server, есть обходной путь: запустить Management Studio от имени системной учётной записи через утилиту psexec (psexec -s -i) или перезапустить SQL Server в однопользовательском режиме с параметром -m, при котором любой локальный администратор получает доступ. Оба способа требуют остановки службы SQL Server, а значит — кратковременного простоя базы 1С. Планируйте такие работы вне рабочего времени пользователей.

Сброс пароля через командную строку

Альтернатива графическому интерфейсу — утилита sqlcmd. Она удобна, когда Management Studio не установлена или нужно автоматизировать операцию. Сначала подключитесь с Windows-аутентификацией, затем выполните команду смены пароля.

sqlcmd -S ИМЯ_СЕРВЕРА -E

ALTER LOGIN sa WITH PASSWORD = 'НовыйСложныйПароль';

GO

ALTER LOGIN sa ENABLE;

GO

Ключ -E означает доверительное подключение через Windows-учётную запись. Если экземпляр SQL Server именованный, укажите его в формате СЕРВЕР\ИМЯ_ЭКЗЕМПЛЯРА — посмотреть имя экземпляра можно в службах Windows (SQL Server (MSSQLSERVER) — экземпляр по умолчанию, всё остальное — именованные).

После смены пароля обязательно проверьте, что пароль соответствует политике сложности, если она включена для сервера: слишком простой пароль команда не примет, а при отключённой проверке слабый пароль станет уязвимостью, особенно если сервер доступен из сети.

bash
sqlcmd -S SERVER\INSTANCE -E -Q "ALTER LOGIN sa WITH PASSWORD='NewStrongPass123'; ALTER LOGIN sa ENABLE;"

Что делать после смены пароля: не забыть про сервер 1С

Самая частая ошибка после сброса пароля — забыть, что этот пароль использует работающий сервер 1С. Если база в консоли кластера была создана под sa и вы сменили пароль sa, сервер 1С потеряет доступ к СУБД, и пользователи получат ошибку подключения к информационной базе.

Чтобы этого избежать, сразу после смены пароля откройте консоль «Администрирование серверов 1С:Предприятия», найдите нужную информационную базу, откройте её свойства и в полях «Пользователь сервера БД» и «Пароль пользователя БД» укажите новые данные. Изменения применяются без перезапуска службы, но активные сеансы могут кратковременно отвалиться.

Более надёжная практика — не использовать sa для рабочих баз вообще. Создайте отдельную учётную запись SQL с правами на конкретную базу (роль db_owner на неё) и пропишите её в свойствах базы 1С. Тогда сброс пароля sa не сломает работу пользователей, а доступ администратора СУБД будет отделён от рабочего подключения.

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

Особенности для PostgreSQL

Если база 1С работает на PostgreSQL, логика та же, но механика другая. Пароль суперпользователя postgres восстанавливается через файл pg_hba.conf: временно меняется метод аутентификации для локальных подключений на trust (подключение без пароля), служба PostgreSQL перезапускается, после чего через psql задаётся новый пароль командой ALTER USER postgres WITH PASSWORD. Затем метод в pg_hba.conf возвращается обратно на scram-sha-256 или md5, и служба снова перезапускается.

Файл pg_hba.conf находится в каталоге данных кластера PostgreSQL, путь зависит от версии и способа установки. Как и в случае с SQL Server, после смены пароля нужно обновить его в свойствах информационной базы в консоли кластера 1С, иначе рабочие подключения прервутся.

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

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

Вход в Management Studio / psql под учётной записью СУБД с новым паролем
Норма

Подключение успешно, базы видны в списке

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

Ошибка входа — проверьте, включён ли логин и разрешён ли SQL-вход в настройках сервера

Запуск 1С и вход в информационную базу
Норма

База открывается, сеансы пользователей работают

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

Ошибка подключения к СУБД — пароль в свойствах базы в консоли кластера не обновлён

Выполнение регламентного бэкапа
Норма

Бэкап создаётся без ошибок

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

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

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

Можно ли посмотреть пароль пользователя 1С из SQL-базы?

Нет. Пароли пользователей 1С хранятся внутри информационной базы в виде хэшей, и извлечь их в открытом виде нельзя. Если пользователь забыл пароль, администратор 1С задаёт ему новый через конфигуратор: «Администрирование — Пользователи». Для входа в базу без пароля в аварийной ситуации есть отдельные штатные процедуры, но они тоже сводятся к сбросу, а не к просмотру.

Не хранится ли пароль SQL в файлах сервера 1С в открытом виде?

В реестре кластера (каталог srvinfo) параметры баз хранятся, но пароль там защищён и не читается как обычный текст. Рассчитывать на извлечение пароля из этих файлов не стоит — правильный путь восстановления доступа: сброс пароля на стороне СУБД с последующим обновлением свойств базы в консоли кластера.

Что делать, если нет прав администратора Windows на сервере?

Без прав администратора на сервере СУБД сбросить пароль sa штатными средствами невозможно — это осознанное ограничение безопасности. Обратитесь к владельцу сервера или администратору инфраструктуры. Если сервер ваш, но доступ к Windows утерян, сначала восстанавливается доступ к операционной системе, затем к SQL Server.

Безопасно ли использовать sa для рабочей базы 1С?

Технически работает, но считается плохой практикой: sa имеет права на все базы и настройки сервера, а её пароль часто разъезжается по скриптам и документации. Правильнее создать отдельный логин с правами только на базу 1С и использовать его в свойствах информационной базы, а sa оставить для административных задач с длинным уникальным паролем.

Почему после смены пароля sa перестал работать бэкап?

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

Можно ли восстановить доступ к базе 1С, если утеряны все пароли?

Да, если сохранён физический доступ к серверу и файлам базы. Схема: получить права администратора Windows, сбросить пароль sa или postgres, прописать новый пароль в консоли кластера 1С, затем сбросить пароли пользователей 1С через конфигуратор. Крайний вариант — развернуть базу из последней резервной копии на новом сервере с известными учётными данными.

Итог

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

Пароль SQL-сервера нельзя посмотреть — только найти в сохранённых источниках или сбросить. Основной способ: вход в Management Studio через Windows-аутентификацию и смена пароля sa. После смены обязательно обновите пароль в свойствах базы в консоли кластера 1С и во всех скриптах обслуживания, а рабочие базы лучше перевести на отдельную учётную запись СУБД.