По теме из базы знаний
- Использование Web-сервисов для синхронизации баз данных в режиме online 1С8.2 (8.1) .
- Помощник загрузки отчетности в разделенную базу данных 1С: БГУ 2.0 в корпоративном облаке 1cfresh
- От реляционной базы данных к единой таблице DynamoDB: пошаговое исследование
- Database Compression Tool: Инструмент для свертки и сжатия баз данных 1С
- Сценарий для восстановления баз данных PostgreSQL в Linux
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. С помощью обработки пометить на удаление все данные по одной организации и удалить их.
2. Сделать РИБ, выгрузить организации в узлы и отвязать их от РИБа.
3. Удалить их с помощью обработки которая генерирует код для SQL сервера.
Не так давно разделял базы. 1 и 2 способы результата не дали, документооборот большой, что удаление данных, что выгрузка данных в узлы РИБа очень на долго задумывались...
Помог третий способ.
Подскажите, пжлста, как из БД удалить все документы по 4 БУ за 3 года.
1. С помощью обработки пометить на удаление все данные по одной организации и удалить их.
2. Сделать РИБ, выгрузить организации в узлы и отвязать их от РИБа.
3. Удалить их с помощью обработки которая генерирует код для SQL сервера.
Не так давно разделял базы. 1 и 2 способы результата не дали, документооборот большой, что удаление данных, что выгрузка данных в узлы РИБа очень на долго задумывались...
Помог третий способ.
Я бы рассмотрел 2 варианта:
1. Свернуть и выгрузить справочники и остатки в чистую базу
2. Создать РИБ и выгрузить в подчиненный узел данные по нужной организации, а потом отвязать.
вариант именно с удалением возможен, но потребует много ручной обработки.
1. Свернуть и выгрузить справочники и остатки в чистую базу
2. Создать РИБ и выгрузить в подчиненный узел данные по нужной организации, а потом отвязать.
вариант именно с удалением возможен, но потребует много ручной обработки.
А если выполнить свертку базы по ненужным БУ с последующим удалением помеченных на удаление объектов, это чем то чревато для оставшегося БУ (возможно были безвозмездные передачи между БУ внутри ЦБ через 30406, например)
(8) Для примера, что бы отделить одну организацию в нашей базе от остальных, удаляли все и вся что не связано с основной. Удаляли без проверки ссылочной целостности. Так вот, такое удаление занимало 12 часов, это просто операция удаления. А если по каждому объекту проверять, так вообще устанете ждать.
В свое время промучился с сильно дописаной базой ЗУП. В базе велся учет по 5 юр. лицам. Типовой юридический и самописный управленческий(много доп. справочников и документов). Плюс множество обменов со всем, что только можно было прикрутить.
Нужно было разделить этот ЗУП на 5 отдельных БД.
Пытался поначалу удалять данные консолью разработчика. Но даже на этапе начального контроля ссылок, отдельно выделенный сервер приложений с 32Гб падал с ошибкой нехватки оперативной памяти.
Пришлось написать обработку, которая перегоняет в БД SQL полную структуру базы ЗУПа с указанием связей между всеми таблицами.
Вторым шагом провел анализ данных, которые нельзя трогать, добавил исключения, настроил правила. Это самый трудозатратный этап, как и проверка данных после чистки базыю
Написал скрипт на t-sql, который удаляет данные в рекурсии по всем взаимосвязям по каждой таблице. Глубина рекурсивных вызовов правда ограничена 32-мя, но я с этим ограничением сталкивался только, если справочник ссылался сам на себя. Такие добавляются в исключения.
Скрипту достаточно было скормить список элементов любой таблицы, которые нужно удалить из базы, и он примерно за 16 минут успешно вычистил базу 90Гб, оставив данные только по одной Организации.
В итоге я получил документы с частично пустыми строками, если в одном документе были внесены сотрудники разных Организаций.
6 часов тестирования/исправления базы данных средствами конфигуратора с пересчетом итогов и красота! Чистая, сжатая база с чистыми документами без пустых строк. Итоги по всем регистрам сошлись с первого раза.
Процедуру деления и тестирования/исправления повторил для каждой Организации достаточно быстро, т.к. правила удаления данных для всех были одинаковы.
Нужно было разделить этот ЗУП на 5 отдельных БД.
Пытался поначалу удалять данные консолью разработчика. Но даже на этапе начального контроля ссылок, отдельно выделенный сервер приложений с 32Гб падал с ошибкой нехватки оперативной памяти.
Пришлось написать обработку, которая перегоняет в БД SQL полную структуру базы ЗУПа с указанием связей между всеми таблицами.
Вторым шагом провел анализ данных, которые нельзя трогать, добавил исключения, настроил правила. Это самый трудозатратный этап, как и проверка данных после чистки базыю
Написал скрипт на t-sql, который удаляет данные в рекурсии по всем взаимосвязям по каждой таблице. Глубина рекурсивных вызовов правда ограничена 32-мя, но я с этим ограничением сталкивался только, если справочник ссылался сам на себя. Такие добавляются в исключения.
Скрипту достаточно было скормить список элементов любой таблицы, которые нужно удалить из базы, и он примерно за 16 минут успешно вычистил базу 90Гб, оставив данные только по одной Организации.
В итоге я получил документы с частично пустыми строками, если в одном документе были внесены сотрудники разных Организаций.
6 часов тестирования/исправления базы данных средствами конфигуратора с пересчетом итогов и красота! Чистая, сжатая база с чистыми документами без пустых строк. Итоги по всем регистрам сошлись с первого раза.
Процедуру деления и тестирования/исправления повторил для каждой Организации достаточно быстро, т.к. правила удаления данных для всех были одинаковы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
