1C 8.2/8.3 Как сбросить пароль от базы на SQL сервере
Введение
Сброс пароля от базы данных 1С Предприятия 8.2/8.3 возможен только если у вас есть доступ к самой базе данных через консоль Microsoft SQL сервера. Если у вас нет доступа к MS SQL серверу, то постараюсь рассмотреть этот вопрос в отдельной статье.
Внимание! Перед процедурой сброса пароля администратора или любого другого пользователя базы 1С настоятельно рекомендую сделать резервную копию базы данных! По карйней мере я так всегда делаю 😏.
Для выполнения процедуры сброса пароля пользователю не нужно обладать какими-то специфическими навыками программиста 1С. Первым делом, перед началом подобного рода действий, необходимо сделать резервную копию базы на тот случай, если что-то пойдёт не так.
Где в 1С 8.2/8.3 хранятся пароли
1С: Предприятие 8.2/8.3 хранит информацию о паролях в двух местах:
- В таблице базы данных v8users.
- В файле users.usr. Файл бинарно сохранен в таблице Params.
Учтите, что пароли хранятся не в открытом виде, а в виде хэш кодов. Это несимметричный алгоритм шифрования без возможности обратного восстановления. Поэтому зайти и задать где-то в конкретном поле новый пароль не получится. Не пытайтесь стирать вообще всю информацию из полей с паролями. Поля не бывают пустыми.
Так как получить администраторский доступ к 1С без пароля
Принцип данного способа заключается в том, что, если при загрузке базы 1С: Предприятия 8.2/8.3 не будет обнаружен ни один пользователь, то вошедший получит полные права. При этом, формирование списка доступных привилегий 1С выполняет только на входе и больше к ним не обращается.
Кстати: именно по причине проверки привилегий только на входе, при изменении прав доступа пользователей, новые параметры вступают в силу только после повторной авторизации пользователя.
Пункт 1. Переименовываем таблицу v8users и файл users.usr
Перед входом в базу данных, куда требуется получить доступ, переименуем таблицу v8users в v8users_tmp. Так же переименуем файл users.usr в users.usr_tmp.
Откроем Microsoft SQL Server Management Studio и выполним запрос к базе данных:
USE [Имя_Вашей_Базы_Данных]
GO
EXEC sp_rename 'v8users', 'v8users_tmp'
GO
UPDATE [Params]
SET [FileName] = 'users.usr_tmp'
WHERE [FileName] = 'users.usr'
GO
Идентификатор «your_database» замените на идентификатор вашей базы 1С. И запускаем его: F5 или иконка с восклицательным знаком.

Пункт 2. Вход в 1С: Предприятие в режиме конфигуратора
Теперь открываем 1С в режиме конфигуратора. При входе программа не запросит ни пользователя ни пароля. База откроется с полными правами.
Имейте в виду, что отдельные конфигурации 1С имеют ряд особенностей по управлению пользователями. Эти особенности следует учитывать при выполнении процедуры сброса пароля 1С.
Пункт 3. Восстановление таблицы v8users и файла users.usr
Как только зашли, вернём старые пароли на место. Создаем новый SQL запрос в Microsoft SQL Server Management Studio:
USE [Имя_Вашей_Базы_Данных]
GO
DROP TABLE [v8users]
GO
EXEC sp_rename 'v8users_tmp', 'v8users'
GO
UPDATE [Params]
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_tmp'
GO
Идентификатор «your_database» замените на идентификатор своей базы 1С. И запускаем его: F5 или иконка с восклицательным знаком.
Пункт 4. Изменяем пароль администратора или создаем нового
В Конфигураторе 1С измените пароль существующего администратора на свой или создайте нового пользователя с административными правами.
Замечание: Сброс пароля 1С лучше делать для существующего пользователя. Имейте в виду, что в таких конфигурациях, как «Управление торговлей» версии 11 создание пользователей следует выполнять в режиме 1С: Предприятия, а не в Конфигураторе. Поэтому лучше изменить пароль существующего администратора, а не создавать через Конфигуратор нового пользователя.
В заключение
Перезапустите 1С, теперь будет действовать указанный ранее пароль. Обязательно учитывайте особенности управления пользователями конкретной конфигурации 1С.