
Для любой организации или предприятия в настоящее время остро стоит вопрос обеспечения надежной защиты используемых данных. Безусловно, этот вопрос состоит из многих составляющих, и само понятие такой защиты представляет собой комплексное понятие. Правила конкретной компании обеспечивают меры по защите данных и организуют и регламентируют контроль доступа к информации.
Часть мер по этому вопросу обеспечивается такими техническими средствами как сама операционная система, Microsoft SQL Server, 1С:Предприятие 8.1. Обсуждение комплекса мер для безопасности функционирования этой учетной системы весьма обширная тема, заслуживающая большого разговора, но в данный момент находящаяся вне темы статьи.
Но в реале всегда возможны какие-то просчеты, как правило связанные с человеческим фактором. А они влекут за собой ситуации, которые требуют быстрого и грамотного разрешения. Например, утеря пароля администратора от БД 1С:Предприятие 8.1, развернутой на MSSQL, приведет к тому, что будут невозможны никакие административные действия в базе данных. Однако случившаяся ситуация разрешима, например таким образом, как представленный в этой статье.
База данных MS SQL содержит таблицу Params, которая предназначена в том числе для хранения информации о пользователях. Вся информация о паролях в 1С:Предприятие хранится в строке этой таблицы с названием “users.usr”.
Это фактически blob-объект в котором хранятся все пароли и логины пользователей. В случае, если 1С:Предприятие не находит данную строчку, то считает, что ни один пользователь не задан и пускает в программу без ввода пароля с правами администратора.
Для того, что бы добиться такого эффекта, нужно зайти в SQL Server management Studio и в базе выполнить следующий код:
Use [ваша_бд_1с] go UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr' GO
Use [ваша_бд_1с] go UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr' GO
В некоторых источниках я наталкивался на упоминание таблицы v8users. Если вы найдет в вашей базе данных такую таблицу, то нужно ещё выполнить следующий код:
Use [ваша_бд_1с] go EXEC sp_rename 'v8users', 'v8users_old' GO
Use [ваша_бд_1с] go EXEC sp_rename 'v8users', 'v8users_old' GO
После этого можно заходить в программу 1С:Предприятие в режиме конфигуратора. Следующим шагом будет сброс пароля администратора 1С:Предприятие.
Для этого, не выходя из 1С, запускаем в SQL Server management Studio следующий код:
Use [ваша_бд_1с] go UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old' GO
Use [ваша_бд_1с] go UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old' GO
И, если у вас была таблица v8users, то и этот:
Use [ваша_бд_1с] go DROP TABLE v8users GO EXEC sp_rename 'v8users_old', 'v8users' GO
Use [ваша_бд_1с] go DROP TABLE v8users GO EXEC sp_rename 'v8users_old', 'v8users' GO
После этого возвращаемся в 1С:Предприятие, открываем список пользователей и редактируем пароли так, как нам нужно. Вуаля!
Читайте также:



Комментарии