Копии баз данных и размер БД. Проблемы и пути решения

30.11.22

База данных - Архивирование (backup)

Столкнулся с проблемой быстрого роста объема БД. Статья о том, как решал эту проблему.

С административными функциями в процессе работы почти не сталкивался. Но появилась необходимость сделать локальную копию рабочей БД на компьютере пользователя в файловой версии. Базовая конфигурация УТ 11, доработанная, снята с поддержки. Документов в базе данных не более 100 в день, но практически к каждому документу прикрепляется скан печатной формы. Формат базы данных - MS SQL.

Здесь надо пояснить, что все дальнейшие действия производились с копией БД. При первичной выгрузке информационной базы размер файла достиг 31Гб. При загрузке в файловую версию архива, появилась ошибка - размер одной из таблиц превысил 4Гб. Первое логическое решение, вынести файлы из в тома на диске и затем сделать архив копии для дальнейшей загрузки в файловую версию. Был неприятно удивлен: после выгрузки прикрепленных файлов из БД в тома и создания архива, размер архива существенно вырос. Значит проблема не только в хранимых в базе данных файлов (в них, конечно, тоже). Скажу сразу, чистка файлов, удаление документов за период и другие действия, которые могли бы привести к уменьшению БД приводили ровно к противоположному результату.

Решил проверить - в каких таблицах в MS SQL больше всего данных. Спасибо за разработку Размер таблиц 1С в базе данных MS SQL. Саму разработку не качал, ничего сказать не могу, но использовал запрос из данной статьи, мне этой информации хватило.

После недолгой работы с полученным файлом в Excell, получил следующее:

_DbCopiesTrLogs dbo 1583667 47311216 47309192 2024
Config dbo 30294 621152 621096 56
_DbCopiesTrTables dbo 2980511 235352 235208 144

 

Поиск в интернете привел меня на следующую страницу: Размещение данных 1С:Предприятия. Таблицы и поля.

Откуда стало понятно, что две из трех самых больших таблиц это таблицы из механизма "Копии баз данных". С данным механизмом никогда не работал и не знал для чего он, пришлось знакомиться.

Посмотреть список и отредактировать список копий можно здесь:

 

 

В нашей базе данных обнаружилась одна копия, к которую были включены практически все объекты конфигурации. 

 

 

Дальнейшее ознакомление с механизмом "Копии баз данных" показало, что данный механизм используется также и "1С:Аналитика", а именно эту программу установил без ведома других горе консультант (уже уволен). Мало того, что он установил программу, так еще и в рабочей базе добавил "копию базы данных". Которая еще к тому же почти год не обновлялась, что привело существенному росту базы данных. Проблема роста базы данных найдена. Решение тоже очевидно - удалить копию базы данных, но......

Попытка простого удаления копии привела к тому, что сервер сильно "задумался", база данных MS SQL начала расти прямо на глазах. Оставил данный процесс на ночь. Утром обнаружилась ошибка, связанная с тем, что на сервере на диске, где хранится база данных MS SQL закончилось место. Т.е. просто удаление копии базы данных не сработало, пришлось окунуться в MS SQL  более глубоко.

Составил список таблиц, которые относятся к механизму "Копии баз данных":

Таблица копий _ DbCopies
Таблица настроек копий _DbCopiesSettings
Таблица состояний таблиц копий _DbCopiesTablesStates
Таблица изменений в процессе первоначального копирования _DbCopiesTrChanges
Таблица объектов изменений _DbCopiesTrChObj
Таблица c информацией по блокам первоначального копирования _DbCopiesInitialLast
Таблица журналов транзакций _DbCopiesTrLogs
Таблица с измененными в транзакциях таблицах _DbCopiesTrTables
Таблица перенесенных транзакций _DbCopiesUpdates

Решил их очистить и посмотреть, будет ли работоспособной информационная БД.

Видимо данная команда удаления записей в таблице является одной транзакцией (в MS SQL не силен). Так что при попытке очистить самую большую таблицу получил полный "висяк" сервера на долгое время.  В SQL есть возможность удаления записей из таблицы в цикле партиями (по 5000-10000 записей). Такой подход работает лучше.

С помощью вышеописанного почистил все таблицы, относящиеся к "копии баз данных". На работоспособность базы данных и информационной базы это ни как не сказалось. Архив при выгрузке информационной базы уменьшился в два раза. И его получилось загрузить в файловую версию БД.

Прошу сильно не пинать - это моя первая статья. Может, кому-нибудь будет полезна.

размер БД копии

См. также

Архивирование (backup) Журнал регистрации Поиск данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал регистрации изменений документов в 1С для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма «История изменений». Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    43136    12    24    

40

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    71370    623    45    

83

Архивирование (backup) Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Программа позволяет выполнять автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    15188    15    6    

21

Администрирование СУБД Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье описала свой опыт аудита 1С базы, порядок действий + статьи, которые сильно помогли в работе.

14.07.2024    6274    limonen    15    

19

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Ситуация: при обновлении серверной базы данных произошёл сбой и теперь невозможно войти ни в конфигуратор, ни в 1С:Предприятие по причине ошибки, вынесенной в заголовок. Рецепт лечения.

24.05.2024    1753    Kernelbug    9    

20

Администрирование СУБД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

При хранении файлов в томах на диске они иногда исчезают. Разбираемся, почему.

23.05.2024    8409    human_new    18    

55

Администрирование СУБД Системный администратор Бесплатно (free)

Скрипт позволяет высвобождать место в операционную систему, занятое файлом базы MS SQL в итерациях с заданным количеством мегабайт

28.03.2024    1760    Garilia    6    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. roman72 384 02.12.22 12:33 Сейчас в теме
С почином!
Однако, механизм копий баз данных подаётся как средство повышения производительности на уровне пользователей.
Итак с предубеждением относился к 1С:Аналитике, теперь ещё больше..
4. Redokov 82 12.12.22 18:10 Сейчас в теме
(1) А почему плохая настройка инструмента неопытным человеком увеличило Ваше предубеждение против 1С:Аналитики? Сама аналитика здесь при чем? Нормальный инструмент, если понимать ограничения
2. Neiron_1C 155 02.12.22 22:42 Сейчас в теме
А горе консультант был уволен из-за этого косяка или по другой причине?
3. DrMih 8 05.12.22 08:42 Сейчас в теме
(2) Есть сейчас такая категория "около1Сников" - любителей сертификатов. Он один из них. Кроме наличия сертификатов и поверхностного знания общего администрирования в голове ничего. Косяк обнаружил через месяц после его увольнения.
5. sergio111 15.12.22 15:48 Сейчас в теме
если надо почисть таблицу в ms sql, есть команда truncate table dbo._"имя таблицы"". очень быстро удаляет.
Оставьте свое сообщение