0. stsasha87 114 16.04.15 01:42 Сейчас в теме

Очистка базы средствами SQL (управляемое приложение)

Очистка базы средствами SQL (управляемое приложение). Полная и частичная. Любая конфигурация 1С 8.2, 8.3. Тонкий клиент, управляемое приложение, Такси

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. DoctorRoza 27.05.15 08:57 Сейчас в теме
Удаление возможно частичное или полное.


Ну частичное да, а вот полное .. может просто конфу скопировать!? :)
3. stsasha87 114 27.05.15 10:17 Сейчас в теме
(1) DoctorRoza, имеется ввиду по объектам метаданных. Удалить полностью за весь период, либо отобрать. Я у себя наиболее используемые документы оставлял за полгода, ненужные - сносил полностью:)
2. TTSTV 27.05.15 09:10 Сейчас в теме
Очищать виртуальные таблицы нельзя, т.к. их нет. Если речь о пересчете итогов, то там только одна таблица - собственно, сами итоги. Таблицы оборотов нет.
Ну и пересчитывать итоги после такого грубого вмешательства нужно не "по хорошему", а обязательно.
4. stsasha87 114 27.05.15 10:40 Сейчас в теме
(2) TTSTV, если взять регистр накопления(остатки или обороты), то нужно всегда помнить, что в базе sql помимо основной таблицы с данными лежит еще таблица с итогами (либо оборотами), которая скорей всего в разы больше основной. А у регистров бухгалтерии и не одна (ИтогиПоСчетамССубконто1, ИтогиМеждуСчетами, ИтогиПоСчетам...).
Я тоже считаю, что после такой чистки запуск ТиИ пересчета итогов и переиндексации обязательны. Но возможность удалять данные из виртуальных таблиц частично я всё же оставил.
ТиИ приходится оставлять на ночь, в моем же случае вопрос времени критичнее достоверности данных, поэтому я чистил "по-быстрому" :-)
Но, опять же, после пересчета итогов и переиндексации получится еще и приличная экономия места.
5. Операция1Ы 53 29.05.15 10:16 Сейчас в теме
(4) чтобы итоги не пересчитывать можно после "обрезания" выгрузить и загрузить дтшник средствами платформы, для базы в 100гб операция загрузки занимает примерно 4 часа, выгрузка около часа, но это если не совсем уж дохлый комп.
6. Yula89 2 02.06.15 08:10 Сейчас в теме
(4) думаю, что для торга могло бы быть актуально)
7. polyplastic 03.06.15 13:24 Сейчас в теме
Автору респект. Тоже делал подобное для тестовых баз.
И совет для удаления больших таблиц: если удаляется бОльшая часть таблицы, выгоднее сделать копию нужной части данных, очистку таблицы TRUNCATE и копирование обратно. Дело в том, что если у вас одна таблица допустим весит 40Гб, при удалении 95% ее содержимого лог базы данных вырастет примерно на 150Гб.
Roman_SE; +1 Ответить
8. stsasha87 114 04.06.15 11:08 Сейчас в теме
(7) polyplastic, спасибо:) дада, сталкивался с переполнением логов, поэтому удаление данных таблицы делаю в одной транзакции. Копирование+транкейт+копирование обратно как-нибудь попробую на досуге, интересна скорость отработки данного метода.
24. nicxxx 197 09.08.18 20:18 Сейчас в теме
(7) Чтобы не рос лог транзакций, надо удалять пакетами. Это если через Delete From. При этом надо запускать каждый пакет в фоновом процессе. Помогает ускорить процесс довольно заметно.
9. WWWWW 08.06.15 10:29 Сейчас в теме
10. Anzhey 16 17.06.16 12:54 Сейчас в теме
11. forsagforsag 70 13.09.16 19:47 Сейчас в теме
И кто из вас украл обработку у другого?????????
При сравнении 1с-ка показывает что они полностью идентичны.
12. forsagforsag 70 15.09.16 13:12 Сейчас в теме
СТОП. Прошу прощения отбой ;))
Сборщик писем подставил - повторно скачал первую обработку :)
13. forsagforsag 70 16.09.16 16:28 Сейчас в теме
Таб/части справочников удаляет?
14. stsasha87 114 20.09.16 17:26 Сейчас в теме
(13) forsagforsag, удаляет) По алгоритму сначала производится удаление табличных частей, а потом и самих документов
15. sanfoto 482 08.11.16 15:10 Сейчас в теме
Обработка ГУД)) Мне помогло Автору респект

ДО ЭТОГО - пробовал очистить регистр сведений (около 10 миллионов записей - SQL на дохлой тачке) - методом копирования Регистра в конфигураторе и удаления Исходного.... так вот отваливался Конфигуратор по таймауту (потом доперло что "Администрирование/Параметры информационной базы.../ Время ожидания блокировки.." - скорей всего бы помогло )

Надоело экспериментировать... да и время кончилось... начальника ругалась))) скачал обработку выбрал регистр ... поставил галку "Удалить полностью (Truncate table)".
16. Kontakt 64 16.11.16 07:12 Сейчас в теме
Формируется остатки на начало периода? если задан период
17. stsasha87 114 16.11.16 18:19 Сейчас в теме
(16) Kontakt, если задается период, то удаляются данные только за этот период. Без формирования остатков. Это не свёртка, а очистка :-)
18. Kontakt 64 16.11.16 19:13 Сейчас в теме
(17) stsasha87, Свертку сделал на 31.12.2015 23:59:59 как теперь обрезать и не затронуть. Если период ставится в обработке лишь датой. 30.12.15 ?
19. dimaxx 41 21.12.16 09:54 Сейчас в теме
(18) Распроведи и перенеси документы свертки на 01.01.2016. потом зачисть и верни все обратно.
20. lexi 1 17.02.17 15:24 Сейчас в теме
ДД! в конфигурации Документооборот будет работать?
21. stsasha87 114 17.02.17 15:59 Сейчас в теме
(20) Насколько я помню, в Документогороде большинство "документов" - это элементы справочников. У которых "Период" - это отдельный реквизит, который на sql-е скорей всего называется как _FldXXXX, а не _Period. Поэтому если делать частичное удаление по периоду, то надо сначала уточнить имя реквизита в субд и поправить в обработке. А так не вижу помех, но обязательно сначала всё пробовать на копии!
22. Roman_SE 6 17.02.18 10:34 Сейчас в теме
Табличные части документов также как оригинальная чистит муторно и долго или переписано? Оригинальная офигевала если документов заказ покупателя под миллион... очень долго чистила даже с таймаутами дикими.
23. ilias1210 08.08.18 17:34 Сейчас в теме
Добрый день. Данная обработка может работать много поточно? т.е. запустить из разных сеансов удаление разных регистров?
26. stsasha87 114 03.09.18 13:20 Сейчас в теме
(23)
Добрый день. Данная обработка может работать много поточно? т.е. запустить из разных сеансов удаление разных регистров?


Да, конечно. Никто никому мешать не будет, если удалять разные регистры.
25. savilovoa 31.08.18 14:31 Сейчас в теме
Добрый день!

А данную обработку как можно переделать, чтобы через скрип запустить?

Олег
27. stsasha87 114 03.09.18 13:22 Сейчас в теме
(25) Не совсем понял, зачем через скрипт. Если нужно какое-то периодическое удаление, можно посмотреть код и по аналогии сделать регламентное задание по удалению данных за период.
28. savilovoa 17.09.18 09:45 Сейчас в теме
Для автоматизации. Думаю сделать обрезание данные и формирование БД для разработчика по скрипту. Возможно повешу это на запуск от веб-сервиса - разработчик вводит только что ему нужна свежая БД и получает ее, не имея доступа к серверам SQL и т.д.
29. stsasha87 114 18.09.18 16:03 Сейчас в теме
(28) Я бы это делал тогда совсем без участия 1С) Скрипт на sql с примерно таким алгоритмом:
1) Транкейтим таблицы Версии объектов и им подобные регистры с ненужными данными
2) Идем по таблицам документов. Отбираем их по DocumentХХХХ и делаем delete по периоду
3) Идём по таблицам регистров накопления, хозрасчетным.... Аналогично делаем delete по периоду. Не забывая про виртуальные таблицы.
и т.д.

И запускать такой скрипт сразу после разворачивания копии базы для разработчика. Всё на стороне субд.
30. Timur.V 30 24.09.18 20:00 Сейчас в теме
Скачал обработку, но есть пожелание:
сделать возможным удалять документы и все регистры по этим документам. А не отдельно документы и отдельно регистры.

Была задача: удалить из базы все документы и связанные с ними регистры (любые). Остальное (справочники) в базе оставить.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день