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

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 записей). Такой подход работает лучше.

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

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

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

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

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

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

21600 руб.

15.05.2017    42692    10    24    

38

BackUPv8 - система резервного копирования баз 1С

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

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

1200 руб.

03.09.2014    14860    15    6    

19

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

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

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

6000 руб.

06.11.2012    70357    622    44    

80

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

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

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    6274    dsdred    59    

86

Инструкция по установке Postgres для OLTP приложений и 1С. Часть 1. Базовая конфигурация

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

В Postgres достаточно подробная документация, и, видимо, поэтому при инсталляции Postgres для 1С большинство параметров приходится выставлять самим. Параметров в Postgres много, а составить эффективную комбинацию не так просто. Все упрощается, если рассмотреть профиль нагрузки, например, 1С это прежде всего профиль OLTP нагрузки – так устроены его метаданные (объекты). Если сосредоточиться на оптимизации профиля OLTP, понимание Postgres сразу упростится.

15.02.2024    2638    1CUnlimited    14    

28

Очистка устаревших патчей в конфигурациях на базе БСП

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

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

01.02.2024    1948    Sergey1CSpb    20    

16

Как запустить сервер лицензирования 1С на примере облачной платформы

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

Чтобы минимизировать подобные риски, связанные с нештатной работой программных клиентских и серверных лицензий, необходимо централизовать их хранение и выдачу. Это можно сделать, разместив лицензии на отдельной машине — сервере лицензирования. В статье рассказываем, как это сделать.

25.01.2024    2047    doctor_it    15    

18

Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?

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

Казалось бы, базовое знание: «индексы надо обслуживать, чтобы запросы выполнялись быстро». Но обслуживание индексов выполняется долго и может мешать работе пользователей. Кроме того, в последнее время популярны разговоры о том, что индексы можно вообще не обслуживать – насколько это оправданно? Рассмотрим: на что влияет обслуживание индексов, когда надо и когда не надо его выполнять, и если надо – как это сделать так, чтобы никому не помешать?

16.01.2024    6703    Филин    13    

46
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. roman72 380 02.12.22 12:33 Сейчас в теме
С почином!
Однако, механизм копий баз данных подаётся как средство повышения производительности на уровне пользователей.
Итак с предубеждением относился к 1С:Аналитике, теперь ещё больше..
4. Redokov 81 12.12.22 18:10 Сейчас в теме
(1) А почему плохая настройка инструмента неопытным человеком увеличило Ваше предубеждение против 1С:Аналитики? Сама аналитика здесь при чем? Нормальный инструмент, если понимать ограничения
2. Neiron_1C 153 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._"имя таблицы"". очень быстро удаляет.
Оставьте свое сообщение