среда, 20 ноября 2013 г.

Сбросить пароль администратора информационной базы 1С 8.1/8.2/8.3 (sql)

"Копипаста"

Взято отсюда:
http://www.sql.ru/forum/849166/sbros-parol-administratora-1s-8-2

1С при работе на SQL хранит список пользователей в двух местах: в таблице v8users и в файле users.usr который бинарно расположен в таблице Params.

Надо платформу заставить думать, что в базе нет ни одного пользователя. Для этого необходимо переименовать таблицу v8users и строчку с файлом users.usr. Открываем SQL Server Management Studio логинимся и создаем запрос к базе данных с содержанием:

EXEC sp_rename 'v8users', 'v8users_old'
GO
UPDATE Params
SET FileName = 'users.usr_old'
WHERE FileName = 'users.usr'
GO

После этого открываем информационную базу в конфигураторе и видим, что платформа не спрашивает пользователя и пароль, при этом в SQL Server будет заново создана таблица v8users. Теперь, чтобы всех пользователей вернуть обратно, не закрывая конфигуратора выполним в SQL Server Management Studio запрос:

DROP TABLE v8users
GO
EXEC sp_rename 'v8users_old', 'v8users'
GO
UPDATE Params
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_old'
GO

После выполнения запроса в списке пользователей появяться все пользователи, останеться только найти нужного и изменить ему пароль.
Не универсальная "формула", но с минимальнейшими изменениями, спасла меня на postgresql.
По сути, в таблице params я переименовал (исправил данные в визуальном редакторе pgadmin) users.usr в users.usr_old, и переименовал таблицу v8users в v8users_old в свойствах таблицы. После успешного входа в толстый клиент, вернул всё обратно (удалив появившуюся таблицу v8users).

2 комментария:

  1. Спасибо за рецепт, помог и на платформе 8.3, при минимальном знании структуры запросов SQL. Нашла его на старой страничке (ссылка в начале статьи) - видимо эта не проиндексирована в google.

    ОтветитьУдалить
    Ответы
    1. Рад, что мои заметки, которые я как-то подзабросил, всё ещё кому-то приносят пользу.

      Удалить