Быстрое обезличивание информационной базы

Публикация № 1149906

Администрирование - Администрирование данных 1С - Чистка базы

быстрое обезличивание удаление свертка очистка

Обработка для формирования SQL-скрипта для быстрого обезличивания и очистки данных.

Предлагаю вашему вниманию внешнюю обработку-конструктор для подготовки SQL-скрипта, который может

  • Очищать текстовые реквизиты
  • Заменять значение текстовых реквизитов на GUID
  • Удалять таблицы

При первом открытии надо нажать кнопку "Заполнить дерево МД". В дерево попадут:

  • все объекты, имеющие табличную сущность: основные реквизиты, табличные части, изменения...
  • все реквизиты, имеющие текстовый тип данных

Ставим где нужно флаг "Кодировка" и выбираем доступное для объекта действие. В поле "Запрос SQL" будет появляться собственно сам текст запроса. 

Текст можно скопировать и выполнить в SQL Server Management Studio, не забыв при этом указать целевую базу. Длительность работы скрипта исчисляется минутами, а не часами и днями, если делать то же самое средствами платформы. В скрипте применяются команды UPDATE и TRUNCATE TABLE.

Настройки можно сохранить в файл и восстановить.

Обработка тестировалась на платформе 8.3.12.1567.

В качестве дисклаймера:

  • перед запуском скрипта еще раз тщательно проверьте, что указана правильная база. И эта база точно не продуктив (!), а копия, которую вы решили передать внешнему миру. И сделайте полную копию,  т.к. TRUNCATE TABLE - быстро чистит таблицу, но не оставляет следов в журнале транзакций, так что в случае чего откатить не удастся.
  • обработка сама не меняет данные, полученный скрипт не меняет структуру, но всё же вносит изменения в содержимое базы данных нештатными средствами, поэтому - применяя скрипт к 1С-базе вы нарушаете лицензионное соглашение!
  • возможно кто-то скажет, что это реплика, так и есть! Я честно скачал несколько похожих обработок с ИС, но ни одна из них меня не устроила, ни по функционалу, ни по удобству. Поэтому пришлось написать свою.

Скачать файлы

Наименование Файл Версия Размер
Быстрое обезличивание информационной базы:

.epf 11,33Kb
05.11.19
22
.epf 1 11,33Kb 22 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ktb 362 07.11.19 09:57 Сейчас в теме
(0) Я бы добавил "красненьким", что это только для тех кто понимает, что делает. :-)
dim9; dj_tol; barelpro; +3 Ответить
4. zzz_natali 59 07.11.19 10:55 Сейчас в теме
(1) Ну, кто добрался "до сладкого", то бишь до манажамент студио, тот уже понимает, что делает. :)
13. dj_tol 96 11.11.19 07:52 Сейчас в теме
(1)и жирненьким и мигающим.
2. nomad_irk 49 07.11.19 10:07 Сейчас в теме
А обычную форму и формирование скрипта для Postgres сделаете? :)
3. barelpro 1172 07.11.19 10:16 Сейчас в теме
(2)

У меня нет постгресса, не на чем будет тестировать, он еще редко встречается...
С обычной формой наоборот - уже редко встречается...
Но если найдутся желающие взять мою обработку за основу для такого развития - я не против!
5. zzz_natali 59 07.11.19 11:03 Сейчас в теме
(3) Если проанализировать родной одинэсовский запрос в profiler'е, то там не всё так однозначно. Скажем, очистка адресного классификатора в УПП выглядит так:
DELETE FROM T1
FROM dbo._InfoRg19091 T1
SELECT DISTINCT T1._Fld19325_TYPE, T1._Fld19325_RTRef, T1._Fld19325_RRRef, T1._Fld19326
FROM dbo._InfoRg19324 T1
Прокомментируете или пофиг(трункатим скопом, а потом смотрим, жива таблица или амба)?
6. barelpro 1172 07.11.19 11:19 Сейчас в теме
(5) Видеть бы еще ваш УПП, что за имена МД стоят за _InfoRg19091 и _InfoRg19324 ? )

Кстати, с удалением ссылочных объектов надо быть осторожнее в моей обработке, т.к. могут появится битые ссылки. Да и всякие зависимые таблицы (типа итогов и оборотов регистров) тоже не удаляются.
Это уже другая должна быть обработка - обрезка базы, немного другой подход.
Моя цель была - удалить или скрыть информацию, представляющую коммерческую тайну
8. zzz_natali 59 07.11.19 11:37 Сейчас в теме
(6)
InfoRg19091 - таблица КЛАДРа
InfoRg19324 - регистр сведений версии объектов(у нас версионирование включено)
Да, согласна: с наскока не будет выигрыша, хотя подрихтовать базу от битых ссылок можно через конфигуратор с помощью тестирования/исправления
7. Danil.Potapov 447 07.11.19 11:34 Сейчас в теме
(5) TRUNCATE ничего не знает о saas от 1с, поэтому платформа использует DELETE.
9. Yashazz 3415 10.11.19 15:32 Сейчас в теме
Не-е-е. Делать обфускатор на уровне СУБД - это к восстановлению битой базы и долгому интенсивному интиму...
10. barelpro 1172 10.11.19 16:44 Сейчас в теме
(9) Конечно, если менять ссылочные реквизиты, а тут только строковые
11. Yashazz 3415 10.11.19 17:16 Сейчас в теме
(10) Всегда есть шанс цепануть что-то критическое...

Я для себя иначе поступил - написал конфу, которая берёт пустую cf и генерирует стендово-тестовое наполнение по заданным правилам. С тех пор базы у заказчиков не прошу, а прошу лишь логику и статистику их наполнения.

А обфускацию лучше имхо на уровне платформы делать.
Kolunya; barelpro; +2 Ответить
12. barelpro 1172 10.11.19 18:05 Сейчас в теме
(11) Ну это если вы на стороне подрядчика. А если вы на стороне заказчика хотите дать внешнему подрядчику базу, и у вас нет такой волшебной обработки? )
14. Fox-trot 117 11.11.19 08:13 Сейчас в теме
(12) или тебя по-твоему незаслуженно уволили
лол
15. fart07 09.12.19 09:51 Сейчас в теме
Отличная обработка, как раз нужно было быстро обезличить большую базу. Чуть модифицировал под обычные формы.
barelpro; +1 Ответить
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку