Размеры базы SQL

1. starjevschik 21.09.20 16:59 Сейчас в теме
Есть база УТ 10.3 на MS SQL.
Размер базы примерно 30 Гб плюс еще логи примерно такие же.
Я сделал копию, на том же сервере SQL, и в этой копии стер примерно 90% документов. Буквально Удалить() и все, средствами 1с. Удаляла она долго, но осилила.
Размер базы стал 60 Гб.
Тогда я сделал ТИИ с галками пересчет итогов и реструктуризация таблиц (целостность не интересует).
Размер базы стал 89Гб. Плюс еще лог примерно 60, но лог я сейчас обрежу.
Почему размер базы растет от удаления львиной доли информации и как его уменьшить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TODD22 18 21.09.20 17:09 Сейчас в теме
(1)
Почему размер базы растет от удаления львиной доли информации и как его уменьшить?

Средствами SQL. SQL место не отдаёт просто так, если уже зарезервировал его себе. Шринк базы надо делать.
user970589; +1 1 Ответить
3. starjevschik 21.09.20 17:13 Сейчас в теме
(2) сейчас делается
ладно не отдает, но почему больше-то становится?
сейчас дожмет, посмотрим...
4. TODD22 18 21.09.20 17:14 Сейчас в теме
(3)
ладно не отдает, но почему больше-то становится?

Потому что формируются какие то промежуточные таблицы и тд. Под них выделяется память. Которую SQL назад по хорошему отдавать не хочет.
user970589; +1 1 Ответить
6. starjevschik 21.09.20 17:51 Сейчас в теме
(4) ну она сжалась до 37Гб, т.е. немного больше, чем была исходная база.
Лог до нуля, это понятно логично )
База, на мой взгляд, все же должна стать меньше, раз в ней меньше информации, нет?
7. TODD22 18 21.09.20 17:53 Сейчас в теме
(6)
База, на мой взгляд, все же должна стать меньше, раз в ней меньше информации, нет?

А если статистику по таблицам посмотреть? Какие таблицы больше всего места занимают?

ну она сжалась до 37Гб

То есть база стала на 7Гб больше чем была до удаления данных?
9. starjevschik 21.09.20 18:00 Сейчас в теме
(7) да, примерно на 7 Гб больше.
по таблицам их там много.
_Reference99 самая большая примерно 6 Гб
дальше какие-то регистры накопления.
11. nomad_irk 72 21.09.20 18:01 Сейчас в теме
(9)
_Reference99


Вангую: справочник "ХранилищеДополнительнойИнформации" :)
ipoloskov; +1 Ответить
13. starjevschik 21.09.20 18:03 Сейчас в теме
(11) о! вполне возможно. Но его-то размер не должен был поменяться, ну есть он там и ладно.
8. nomad_irk 72 21.09.20 17:58 Сейчас в теме
(1)не совсем понятно: удаление объектов происходило с контролем ссылочной целостности или без?
10. starjevschik 21.09.20 18:01 Сейчас в теме
(8) без. Там неважно это, нужно было вырезать кусок.
12. nomad_irk 72 21.09.20 18:03 Сейчас в теме
(10)Тю. так вы только табличку документов почистили, это 0.00....1% от всего объема БД :)

Вы какую цель преследовали удалением? уменьшить размер файла *.mdf?
14. starjevschik 21.09.20 18:04 Сейчас в теме
(12) не, мне нужен кусок базы за пару месяцев для сторонней разработки. Размер не очень важен, но он все должен был уменьшится по-моему. Документы, регистры, не так уж мало должно быть.
17. nomad_irk 72 21.09.20 18:09 Сейчас в теме
(14) Хорошо. Документы перед непосредственным удалением помечались на удаление? или прям сразу удалялись?
помечались методом ДокОбъект.УстановитьПометкуУдаления(Истина) или ДокОбъект.ПометкаУдаления = истина?
18. starjevschik 21.09.20 18:10 Сейчас в теме
(17) сразу. Она ж их все равно распроводит, по-моему. Или нет? в журнале регистрации куча записей о регистрах накопления.
20. nomad_irk 72 21.09.20 18:12 Сейчас в теме
(18)Вообще, не должно, но может быть код в модуле объекта в процедуре ПриУдалении() удалять как минимум движения документа.
15. nomad_irk 72 21.09.20 18:05 Сейчас в теме
(12)и еще: каким образом вы выполняли шринк файла БД в SSMS? Какая последовательность действий?
16. starjevschik 21.09.20 18:06 Сейчас в теме
(15) в менеджмент студио. Задачи - сжать базу. Одно действие )
19. nomad_irk 72 21.09.20 18:11 Сейчас в теме
(16) Тут все очень не однозначно. Так оно сожмет до минимального размера, указанного в свойствах БД, на закладке Файлы(files).

Чтобы оно реально начало сжимать, то нужно указывать минимальный размер файла допустим 1Мб, и только потом выполнить сжатие, либо в параметрах сжатия указать минимальный размер БД.
21. starjevschik 21.09.20 18:15 Сейчас в теме
(19) ага, я поставил минимальный размер 1 Мб, но она его поменяла обратно на 36 Гб, то есть тот размер, до которого сжала файл. Меньше никак не хочет )
22. nomad_irk 72 21.09.20 18:17 Сейчас в теме
(21)Хорошо. Модель восстановления БД так понимаю, FULL(Полная), если логи занимают 30ГБ? Если так, то включить SIMPLE(Простая) и после этого выполнить сжатие еще раз.
23. starjevschik 21.09.20 18:31 Сейчас в теме
(22) поставил на симпл, но ничего не изменилось. Лог она и так сжала до нуля
25. nomad_irk 72 21.09.20 18:32 Сейчас в теме
(23)Версия MSSQL какая? В свойствах БД, на закладке Files(Файлы) пробовали установить минимальный размер файла *.mdf?
26. starjevschik 21.09.20 18:34 Сейчас в теме
27. nomad_irk 72 21.09.20 18:40 Сейчас в теме
(26) В свойствах БД, на закладке Files(Файлы) установить минимальный размер файла *.mdf и попробовать сжать еще раз.
28. starjevschik 21.09.20 18:50 Сейчас в теме
(27) не ставит она меньше 36 Гб, я пишу, нажимаю ОК - число меняется. Магическое число, наверное.
31. nomad_irk 72 21.09.20 19:08 Сейчас в теме
(28) Я бы еще попробовал скрипты изменения параметров/сжатия файлов БД вручную писать и выполнять, может будуи подробнее сообщения, почему не сжимается.
32. starjevschik 21.09.20 20:30 Сейчас в теме
(31) ну это не тот случай уже
спасибо большое
пусть так остается.
Выгрузил ее через 1с, получил 7 Гб архив. Странно это все, но ладно, не критично пока.
33. nomad_irk 72 21.09.20 20:39 Сейчас в теме
(32)7ГБ - это без индексации таблиц, "сырые" данные. ну и если 6ГБ в ХранилищеДополнительнойИнформации, то, значит, "полезных" данных там всего на 1ГБ.
34. Fox-trot 158 21.09.20 21:35 Сейчас в теме
(28) ты бы еще 1 мегабайт установил, сам то понимаешь суть происходящего?
35. starjevschik 21.09.20 21:38 Сейчас в теме
(34) я-то как раз понимаю, чего явно нельзя сказать о всех участниках дискуссии. Но кто-то понимает и это радует ) не все потеряно.
36. muskul 22.09.20 02:15 Сейчас в теме
(23)Конечно не поменяется, нужно сделать выгрузку загрузку средствами 1с
37. Fox-trot 158 22.09.20 07:53 Сейчас в теме
(36) этот старый колхозный вариант уже и сама 1це отменила и не рекомендует даже тру бухгалтерам
38. muskul 22.09.20 08:56 Сейчас в теме
(37)А по другому скуль базу в режиме фулл никак не уменьшить, речь не про бекапы же
5. Fox-trot 158 21.09.20 17:20 Сейчас в теме
а ну да, документацию для слепых же писали
24. user970589 10 21.09.20 18:31 Сейчас в теме
(5)
-Братец ты не с той ноги.
-Не болтай, а помоги )
29. XAKEP 21.09.20 18:58 Сейчас в теме
(24)
если программно удаляют доки....то либо намеренно либо не знают о существовании связей вообще .... это то только , в чем признались :)
user970589; +1 Ответить
30. Fox-trot 158 21.09.20 19:05 Сейчас в теме
так кто ж его знает, что он там намудрил, я же рядом не стоял, не знаю
чел походу вообще не в теме как и что делать
сначала шринкует, потом параметры базы крутит, где логика?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот