АдминистрированиеРежимУдаленияИнформационнойБазы.ОчиститьБазуДанных

Свойства · ClearDatabase

При удалении информационной базы, база данных будет очищена.

Полное описание, параметры и ограничения

АдминистрированиеРежимУдаленияИнформационнойБазы.ОчиститьБазуДанных (AdministrationInfoBaseDeletionMode.ClearDatabase)

АдминистрированиеРежимУдаленияИнформационнойБазы (AdministrationInfoBaseDeletionMode)

ОчиститьБазуДанных (ClearDatabase)

Доступен, начиная с версии 8.3.14.

Описание:
При удалении информационной базы, база данных будет очищена.
Использование в версии:

Доступен, начиная с версии 8.3.14.

Методическая информация

Практические примеры

Разобрать опасный режим удаления на собственной одноразовой базе: ОчиститьБазуДанных

Синтаксический административный пример с настоящим объектом через RAS. Ручной вызов разрушителен и здесь НЕ выполняется.

Где и как запускать

Только текстовый разбор / ручной опыт на отдельной собственной ПУСТОЙ одноразовой серверной базе.

Подготовка

  1. ОПАСНО: этот пример предназначен только для отдельного собственного учебного сервера и только для специально созданной ПУСТОЙ одноразовой базы. Для изучения достаточно прочитать код. Не вызывайте процедуру для существующей рабочей / тестовой копии с ценными данными.

  2. На своём учебном кластере вручную создайте новую пустую серверную базу GUIDE_DELETE_EMPTY_BOOKS с отдельной базой СУБД guide_delete_empty_books. Она нигде больше не используется, пользователи не подключаются. Удаление не проверяет содержимое на пустоту; это обязательное условие ручной подготовки. После каждого опыта для второго режима создайте новую пустую базу заново.

  3. Сервер / толстый клиент отдельной учебной обработки вне удаляемой базы. АдресRAS и ПортRAS — настоящий адрес сервиса ras, не порт агента ragent. ИдентификаторКластера — настоящий УникальныйИдентификатор собственного учебного кластера.

  4. Доступ — Структура с полями ИмяАгента, ПарольАгента, ИмяКластера, ПарольКластера, заполненная реальными данными администраторов своего стенда. Отдельно передаются имя / пароль администратора удаляемой учебной базы. Секреты не выводятся и не хранятся в коде.

  5. Дополнительная функция отдельно в том же модуле. Она получает настоящий объект из собственного кластера и сверяет одновременно точные имена регистрации и базы СУБД. Это проверка собственного целевого объекта, не версии / имени конфигурации. Не заменяйте эти имена именами рабочих баз.

Процедура УдалитьСвоюОдноразовуюБазу(АдресRAS, ПортRAS, ИдентификаторКластера,
    Доступ, ИмяАдминистратораБазы, ПарольАдминистратораБазы, Подтверждение)
    Если Подтверждение <> "УДАЛИТЬ GUIDE_DELETE_EMPTY_BOOKS" Тогда
        ВызватьИсключение "Нет явного подтверждения удаления собственной пустой базы";
    КонецЕсли;
    База = НайтиСвоюПустуюБазу(АдресRAS, ПортRAS, ИдентификаторКластера, Доступ);
    База.ВыполнитьАутентификацию(ИмяАдминистратораБазы, ПарольАдминистратораБазы);
    Если База.ПолучитьСеансы().Количество() <> 0 Тогда
        ВызватьИсключение "В учебной базе есть сеансы: удаление отменено";
    КонецЕсли;
    Результат = База.Удалить(АдминистрированиеРежимУдаленияИнформационнойБазы.ОчиститьБазуДанных);
    Сообщить("Возвращённый режим удаления: " + Строка(Результат));
КонецПроцедуры
Тот же модуль: найти только собственную заранее подготовленную цель
Функция НайтиСвоюПустуюБазу(АдресRAS, ПортRAS, ИдентификаторКластера, Доступ)
    Сервер = Новый АдминистрированиеСервера(АдресRAS, ПортRAS);
    Сервер.ВыполнитьАутентификацию(Доступ.ПарольАгента, Доступ.ИмяАгента);
    Для Каждого Кластер Из Сервер.ПолучитьКластеры() Цикл
        Если Кластер.ИдентификаторКластера <> ИдентификаторКластера Тогда
            Продолжить;
        КонецЕсли;
        Кластер.ВыполнитьАутентификацию(Доступ.ИмяКластера, Доступ.ПарольКластера);
        Для Каждого База Из Кластер.ПолучитьИнформационныеБазы() Цикл
            Если База.Имя = "GUIDE_DELETE_EMPTY_BOOKS"
                И База.ИмяБазыДанных = "guide_delete_empty_books" Тогда
                Возврат База;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    ВызватьИсключение "Собственная одноразовая пустая база не найдена";
КонецФункции

Разбор по шагам

  1. Прочитайте код и различие двух режимов; запуск необязателен.

  2. Только для ручного опыта подготовьте отдельную пустую одноразовую базу и её точные реквизиты.

  3. Осознанный вызов с явной строкой подтверждения удалит только подготовленную цель; принудительного завершения сеансов нет.

Как проверить результат

  1. Удаляется регистрация информационной базы в кластере, а её база данных ОЧИЩАЕТСЯ. Это не очистка одной таблицы и не сохранение её содержимого.

  2. Аутентификация центрального сервера имеет порядок Пароль, ИмяПользователя; у кластера / базы — ИмяПользователя, Пароль. Не меняйте их местами.

  3. Отсутствие сеансов не доказывает пустоту или ненужность базы. Другим пользователям стенд не доступен; проверка не заменяет предварительную проверку цели администратором.

  4. BSL, административные подключения, очистка и удаление реальных баз при сборке HTML НЕ выполнялись. Восстановление данных этим примером не предусмотрено.

Ожидаемый результат

Есть реальный потребитель перечисления и получение целевого административного объекта с явно ограниченным разрушительным действием.

На что обратить внимание

  1. Не запускайте в рабочей инфраструктуре. Ни один режим не является безопасным способом закрыть форму или удалить файл списка баз.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.