Сокращаем объем базы


Если вы используете копию базы для разработки, и у вас их не одна, то, возможно, вам будут полезными эти обработки. Обработки призваны сократить объем БД, за счет удаления ненужной информации для разработчика.

Первое, что будем удалять, это регистр «Версии объектов». Этот регистр серьездно увеличивает объем базы, если включена подсистема версионирования. 

Второе — прикрепленные документы к объектам базы 1С, сканы договоров к справочнику договора, счета к документам и т.д. (справочник ХранилищеДополнительнойИнформации)

Все об этом подробно и как это работатет, смотрите в видеоролике.

 

11 Comments

  1. Светлый ум

    Интересный вопрос затронул — надо развивать, например добавить список типов документов которые не нужны в тестовой базе и интерактивное удаление их же, как в обработке «Универсальный обмен данными в формате XML» — закладка удаление

    Reply
  2. Xershi

    (1) Светлый ум, да, только я думаю тут все дело в том что эти 2 справочника почти нигде не имеют ссылок на элементы. Только в номенклатуре может быть основное изображение. И вот поэтому удалить этим объекты очень просто!

    Reply
  3. imozg

    (2) Xershi, спасибо за дельное замечание про основное изображение, в своих обработках я такую проверку не делаю, просто удаляю и все. Учту в будущем.

    Reply
  4. insurgut

    Удаление средствами SQL происходит или средствами 1С (вроде ПустойНаборЗаписейОчищаемогоРегистра.Записать() или Для Каждого ЭлементаСправочника … Элемент.Удалить())?

    Reply
  5. imozg

    (4) insurgut, средствами 1С.

    Reply
  6. Armando
    Если вы используете копию базы для разработки, и у вас их не одна, то, возможно, вам будут полезными эти обработки. Обработки призваны сократить объем БД, за счет удаления ненужной информации для разработчика.

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

    Для MS SQL тоже не приведет, если модель восстановления не simple. Для MS SQL лучше генерить скрипт, который truncate`ом очистит таблицы.

    У нас для больших баз процесс подготовки тестовой базы выглядит примерно так:

    1. Бэкап рабочей базы (BACKUP DATABASE)

    2. Восстановление в промежуточную базу (RESTORE DATABASE)

    3. Установка модели восстановления simple (ALT ER DATABASE SET RECOVERY SIMPLE)

    4. Очистка некоторых таблиц. Файлы, КЛАДР и т.п. (TRUNCATE TABLE)

    5. Сжатие (DBCC SHRINKDATABASE)

    6. Бэкап подготовленной базы (BACKUP DATABASE)

    7. Копирование на тестовый сервер

    8. Восстановление в базы для разработчиков (RESTORE DATABASE)

    Все этой естественно скриптом делается

    Reply
  7. insurgut

    (5) тогда смысла в ней мало… При очистке многих регистров может просто напросто в нехватку памяти уйти.

    Reply
  8. imozg

    (7) insurgut, не уйдет, потому что удаляется по одной записи.

    Reply
  9. kredko

    Если используешь версионирование, то регистр нужно всё же периодически чистить даже в рабочей базе.

    Reply
  10. insurgut

    (8) это еще печальнее 🙂

    Reply
  11. vx_gas

    Если у кого не включен доступ на уровне записей можно «Объекты доступа документов почистить», там много того, что не нужно болтается.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *