Подскажите, что случилось с БД?
За неделю одна таблица выросла в несколько раз, до 8Gb.
Речь о табличной части Товары документа "Счет на оплату покупателю".
Вот текущее состояние таблицы:
name rows resivedKB dataKB index_sizeKB unusedKB
_Document635_VT19248 1044567 9790240 8356536 1430768 2936
Что было? Ничего криминального не было.
Добавлен реквизит (тип: перечисление) в сам документ.
1С:УПП (8.3.8)
MS SQL server 2012
За неделю одна таблица выросла в несколько раз, до 8Gb.
Речь о табличной части Товары документа "Счет на оплату покупателю".
Вот текущее состояние таблицы:
name rows resivedKB dataKB index_sizeKB unusedKB
_Document635_VT19248 1044567 9790240 8356536 1430768 2936
Что было? Ничего криминального не было.
Добавлен реквизит (тип: перечисление) в сам документ.
1С:УПП (8.3.8)
MS SQL server 2012
По теме из базы знаний
- Давайте забудем о свертке БД? Файловые группы и секции таблиц SQL, сжатие таблиц SQL.
- Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
- tempdb, почему она всё время растет?
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
- Переход на Linux+PostgreSQL для информационной базы 2 Tb
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
можно попробовать вот так... на свой страх и риск и бекапы никто не отменял..
Создать копию таблицы, дропнуть исходную и перелить записи обратно.
Но это если нет кластерного - с ним может не получиться
-- странно, sele ct форум рвет...
exec sp_spaceused '_Document635_VT19248', 'true'
Создать копию таблицы, дропнуть исходную и перелить записи обратно.
SEL ECT * INTO _Document635_VT19248_TEMP FR OM _Document635_VT19248
TRUNCATE TABLE_Document635_VT19248
INS ERT _Document635_VT19248 WITH (TABLOCK) SELE CT * FR OM _Document635_VT19248_TEMP
DROP TABLE_Document635_VT19248_TEMP
Но это если нет кластерного - с ним может не получиться
-- странно, sele ct форум рвет...
Если в шапку добавили реквизит, то на ТЧ это не отразится.
Судя по размеру данных, в таблице все же что-то содержится. Попробуйте сравнить число строк в документах в текущей базе и в какой-нибудь копии до начала роста. Возможно какая-то доработка или регламентное задание добавляет строки в ТЧ документа. Если в ТЧ есть реквизит типа строка или ХранилищеЗначений, то, возможно их заполнение и является причиной роста.
Судя по размеру данных, в таблице все же что-то содержится. Попробуйте сравнить число строк в документах в текущей базе и в какой-нибудь копии до начала роста. Возможно какая-то доработка или регламентное задание добавляет строки в ТЧ документа. Если в ТЧ есть реквизит типа строка или ХранилищеЗначений, то, возможно их заполнение и является причиной роста.
DBCC SHRINKDATABASE(N'YouBase')
reserved возникает тогда, когда сначала много записей в базу забили, а потом их удалили... это не значит, что они физически из таблицы исчезли, на уровне таблицы они есть с меткой "del" - -шринк с реорганизацией их удаляет физически
Искать что активно пишет в таб часть, а потом удаляет - может какие то регламентные это делают?
в крайнем случае тригер на таблицу написать на ins и del
а вообще сжатие нужно добавлять в скрипт обслуживания базы - такой есть?
у нас оно выполняется раз в неделю
reserved возникает тогда, когда сначала много записей в базу забили, а потом их удалили... это не значит, что они физически из таблицы исчезли, на уровне таблицы они есть с меткой "del" - -шринк с реорганизацией их удаляет физически
Искать что активно пишет в таб часть, а потом удаляет - может какие то регламентные это делают?
в крайнем случае тригер на таблицу написать на ins и del
а вообще сжатие нужно добавлять в скрипт обслуживания базы - такой есть?
у нас оно выполняется раз в неделю
(20)
exec sp_spaceused '_Document635_VT19248', 'true'
SEL ECT * INTO _Document635_VT19248_TEMP FROM _Document635_VT19248
TRUNCATE TABLE _Document635_VT19248
INS ERT _Document635_VT19248 WITH (TABLOCK) SELE CT * FR OM _Document635_VT19248_TEMP
DROP TABLE_Document635_VT19248_TEMP
exec sp_spaceused '_Document635_VT19248', 'true'
SEL ECT * INTO _Document635_VT19248_TEMP FROM _Document635_VT19248
TRUNCATE TABLE _Document635_VT19248
INS ERT _Document635_VT19248 WITH (TABLOCK) SELE CT * FR OM _Document635_VT19248_TEMP
DROP TABLE_Document635_VT19248_TEMP
Включите ТЖ, настройте на отлов событий вставки/удаления в эту таблицу и анализируйте получившийся журнал. Скорее всего обмен каакой-нибудь создает кучу строк в ТЧ, потом их грохает, или просто происходит постоянная перезапись документов, а 1С обновлять не умеет - она сначала все удаляет, а потом заново пишет (в транзакции). В итоге что угодно от постоянной перезаписи раздуется...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот