bd-1s-na-mssql-parol-administratora

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

Часть мер по этому вопросу обеспечивается такими техническими средствами как  сама операционная система, 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С:Предприятие, открываем список пользователей и редактируем пароли так, как нам нужно. Вуаля!

Интересная статья?  Подпишитесь на обновления блога и получите еще больше информации по RSS Vladimir Shurygin RSS  ,   RSS Vladimir Shurygin Email   или  twitter Vladimir Shurygin twitter !
Поделитесь с друзьями этой статьей в: