новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Сброс пользователей в клиент-серверной базе 1С:Предприятия 8.x

  • Добавить свою публикацию
  • для этого требуется регистрация

Как сбросить пароли?

В клиент-серверном режиме работы все данные хранятся в базе данных, управляемой одной из СУБД: MS SQL, Postgree SQL, IBM DB2 или Oracle. Информация об учетных записях хранится в двух таблицах: "v8users" и "Params". 

 Изображение

В некоторых ситуациях может появиться необходимость сбросить учетные записи пользователей, чтобы войти в информационную базу. В статье рассмотрим действия, необходимые для выполнения этой задачи. В примере будем использовать MS SQL Server 2012 Express. Имя базы данных на SQL-сервере - "Exp".

 

Для того, чтобы сбросить учетные записи нужно выполнить два действия:

  1. Удалить таблицу "v8users".
  2. Удалить запись из таблицы "Params", у которой в первой колонке "FileName" содержится значение "users.usr".
Далее рассмотрим SQL-команды для автоматизации описанных действий, а также для восстановления списка пользователей информационной базы.

SQL-команды

И так, нам нужны SQL-команды для сброса и восстановления пользователей информационной базы. Начнем с команд сброса списка пользователей. Нам нужно выполнить следующие действия:

  1. Переименовываем таблицу "v8users" в "h8users" вместо ее удаления. Это позволит восстановить таблицу в дальнейшем.
    "sp_rename 'v8users', 'h8users"
     Подробнее о команде "sp_rename" Вы можете прочитать здесь.
  2. В таблице "Params" также не будем удалять запись, а лишь изменим значение в колонке "FileName" с "users.usr" на "husers.usr". Тогда платформа не сможет найти параметры пользователей информационной базы. Подробнее о команде "UPDATE" Вы можете узнать здесь.
    "UPDATE Params Set FileName = 'husers.usr' Where FileName = 'users.usr'"

Выполнив эти шаги, мы без проблем сможем зайти в информационную базу, пропустив этап аутентификации. Теперь перейдем к рассмотрению команд по восстановлению списка пользователей. Всего будет три команды:

  1. Удаление таблицы "v8users", поскольку входа в ИБ платформа создает таблица заново, если она отсутствовала. Вот так выглядит SQL-команда по удалению таблицы из БД.
    "DROP TABLE v8users"
     Следует предусмотреть отсутствие этой таблицы, чтобы не появилась ошибка выполнения. Подробнее о команде "DROP TABLE" смотрите по ссылке.
  2. Восстанавливаем исходное имя таблицы "v8users".
    "sp_rename 'h8users', 'v8users'"
    Ее синтаксис аналогичен предыдущему примеру, изменили лишь местами имена таблиц.
  3. Возвращаем исходную запись параметров.
    "UPDATE Params Set FileName = 'users.usr' Where FileName = 'husers.usr'"
     При необходимости нужно удалить новую запись настроек пользователей, если платформа ее создала. 
Используя приведенные выше команды, мы можем сбрасывать/восстанавливать список пользователей информационной базы.

Автоматизируем процесс

Как пример использования приведенных SQL-команд создадим небольшую программку на платформе .NET, которая автоматизирует процесс сброса и восстановления учетных записей.

 

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

Изображение

Для сброса/восстановления учетных записей необходимо ввести адрес SQL-сервера, имя базы данных и информацию для аутентификации на SQL-сервере.

 

Таким образом, задача решена, а с помощью созданной программы процесс сброса учетных записей не будет проблемой.

 

Внимание: Данная статья не является руководством к действию! Автор не несет ответственности за последствия использования данного материала в корыстных целях!!!

 
0
Читайте также
Резервное копирование информационной базы при использовании MSSQL сервера.
Как организовать резервное копирование информационной базы 1с
Общие реквизиты и серверная SQL-база
Снижают ли общие реквизиты производительность конфигурации
Создаем бизнес-процесс в несколько шагов
Создание бизнес-процесса простым способом
Разработки
Журнал регистрации 1С в отдельной SQL-базе
Ведение журнала регистрации в 1С 8.1 в SQL базе
Лучший подарок для бухгалтера - счёты 8.2 (со звуком)
Счеты для бухгалтера со звуком 8.2
Обмен данными - 1С:ТиС 7.7 и Битрикс, HostCMS, WebAsyst, UMI.CMS
1C ТиС и сайт формата CommerceML 2.0. Обмен данными
Еще от автора
≡ к списку статей