Вдруг за выходные база с 300 гигов выросла до 700, за прошлые сутки еще на 150.
База Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.91.36) платформа 1С:Предприятие 8.3 (8.3.18.1208) 64 бит
Серверная сервер SQL 2008 R2 64 бит
Файл транзакций в норме.
Во время роста работала обработка по загрузке данных из внешней базы ORAKL. Обработка проверенная работает не первый месяц.
Вечером попробую сжать базу средствами SQL.
Что еще можно сделать и куда посмотреть?
(2)Это не особенность. Это как кожа у 300 килограммовых людей после похудения.
Шринковать можно не только лог, можно шринковать файл данных.
Но вопрос в том, что обработка насовала в базу, а потом удалила.
(4)Базу и буду шринковать в первую очередь.
Авторы обработки утверждают, что не меняли в ней ни чего. На входных загрузка оборвалась аварийно, т.к. база сожрала все место на диске. Хочу понять не только как пролечить, то что свершилось.
(15)Это точно ответ на мое сообщение про параметры размера файла БД и его приращения?
Если так, то параметры размера файла БД абсолютно не связаны с каким-либо инцидентом. Параметры задаются исходя из других требований.
(17)Мой ответ был на (6), в котором ТС сообщил о своих намерениях шринкать БД, я сделал замечание по поводу шринка БД.
(7) делается не исходя, а предварительно, чтобы СУБД как можно реже выполняла операцию увеличения файла БД.
Если бы у ТС было сделано (7), то при (1) он бы не заметил увеличения БД.
(7) Выполняется в рамках обязанностей администратора БД при создании БД не зависимо от того, произошло (1) или нет.
То, что произошло в (1): произошло и произошло. Причину поняли, соответствующие выводы сделали, надеюсь.
Шринкать базу после проишествия (1) нет необходимости.
Так понимаю, задача "освобождения" занимаемого места решается созданием копии "пустой" таблицы и удалением таблицы-источника с последующим переименованием копии.
(20)Я написал, что сделал. И гораздо проще, чем Вы предлагаете.
Я ограничил длину поля. Сохранил конфигурацию и после этого шринкнул базу. Без всяких копий и удалений.
Обработка скорее всего сначала грузит данные с ORAKCL'а в какой-то регистр сведений, из регистра сведений потом чем-то распихивает в документы или еще куда, потом регистр сведений удаляется. Возможно обработка валилась на чем-то, и поэтому запускалась тыщу раз, записывая данные в регистр, но не стирая их, а потом когда-то данные были стерты (но ведь при стирании данные остаются в таблице, просто помечаются, как удаленные). На выходе рост базы на тот объем, который был загружен с ORAKCL'а.
По поводу инструментов, то вроде как каждый ребенок 1С-нега уже такой написал. Даже я )))
https://infostart.ru/public/796664/ - всего одна строка кода (3).
Как показал анализ причиной стала таблица регистра сведений, в которой было Ноль записей но которая занимала кучу места.
Регистр добавлен к типовой конфигурации. Там в ресурсах было строковое поле неограниченной длины. В него писались логи загрузки,
По результатам: Никакие ухищрения в SQLe не помогли сжать базу.
В конфигураторе ограничил длину поля, затем стандартным SQL сжатием базы вернул ее к правильному размеру.
Добрый день попробуйте выгрузить базу из под конфигуратора в dt и загрузите в новую чистую базу. Все не нужное отпадет. Да еще и оптимизируются таблицы при загрузке.
(28)хорошо
1. Создал копию базы из скл-бэкапа
2. Выгрузил копию в *.dt
3. Не обращая внимания, сколько потребовалось времени на выполнение п.2, что с этим *.dt дальше делать? Рабочая база 24/7.....
Добрый день. Теперь вы создали базу без мусора. Сделайте сравните. В студию размер базы которая крутится постоянно и размер новой копии базы в студию какай разница ? Покажите в скриншотах.
Стоп а разница во сколько? если 2-3 % понятно это не показателю. А если разница в сторону > 40% то это можно считсать за прогресс. dt сливаем в рабочую базу тем самым получаем свободное место.
(36)Вы хотя бы размеры озвучили для понятия в какую сторону изменилось? Тогда аналитика заработает.
(38)
(38) но с большими данными всегда так. Или на начало года Вы начинаете новую базу вести переносите НСИ, взаиморасчеты с контрагентами и остатки по счетам учета. Или вы продолжаете работать в старой базе но уже с аналитикой в одном месте. Есть еще угрюмый метод сворачиваете базочку. Но я даже этот метод врагу не посоветовал. Мы при размере базы в 100 гигов каждый год начинали вести все в новой базе данных. Гемор в переносе. Но за то реальный прирост скорости до определенного момента времени. На данный момент все уперается в оптимизацию кода. Если все хорошо написано можно работать и в одной базе по 5-10 лет. Риск если база загнется тогда с умное решение с бэк апами всегда выручает. На эту тему нужно смотреть окружение и железо. А то, что я предложил это быстрая пррверка работы. Поиск медленных решения и т.д. Желаю удачи в не трудном решение вопроса.
(39) Вы отвечаете мне на вопросы какого-то другого человека.
Лично я не знаю, что ответить вам в случае, когда вы советуете переехать вести учет в новую базу при условии, что в проблемной базе всего одна таблица начала занимать очень много места.
(40)Не слышите. О переезде речи нет. Это типовой механизм выгрузки в dt и обратно и обратно из базы dt в чистую базу SQL. Таким методом весь мусор избавляется. Оптимизируются таблицы. После этого принимается решение что делать дальше.