Добрый день.
Есть типовая ЗУП.
Релиз ЗУПа думаю смысла не имеет
Релиз платформы - 8.3.25.1546
Было удалено 2 организации из трех, это практически 90-95% от общего объема данных, все регистры, документы и справочники.
После сделано ТиИ с проверкой на битые ссылки, реструктуризацией и сжатием.
По итогу, вместо того что бы получить маленькую базу с оставшимися данными, на выходе получилась база еще большего размера чем первоначальная.
Почему так происходит?
Неужели удаленные(именно удаленные, не помеченные на удаление) данные не удаляются из базы, или вместо них теперь какой то мусор в таблицах хранится?
Есть типовая ЗУП.
Релиз ЗУПа думаю смысла не имеет
Релиз платформы - 8.3.25.1546
Было удалено 2 организации из трех, это практически 90-95% от общего объема данных, все регистры, документы и справочники.
После сделано ТиИ с проверкой на битые ссылки, реструктуризацией и сжатием.
По итогу, вместо того что бы получить маленькую базу с оставшимися данными, на выходе получилась база еще большего размера чем первоначальная.
Почему так происходит?
Неужели удаленные(именно удаленные, не помеченные на удаление) данные не удаляются из базы, или вместо них теперь какой то мусор в таблицах хранится?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Проверить, что у вас не осталось помеченных на удаление объектов.
Потом.
Вариант 1. Выгрузка/загрузка через dt с предварительным бэкапом.
Вариант 2. РИБ - все в дочернюю базу. Отключаем от РИБ. ТИС. Пользуемся дочерней.
Вариант 3. dt - MS SQL - dt. Рискованный, из-за возможного преобразования типов данных. Не помню, что там было, кажется что-то с точностью.
По превышению допустимого размера таблиц вывалиться не должны, но все равно лучше, так не надо.
Хотя народ делает, даже видеоролик сейчас нашел.
Это файловая база, так что шринковать особо нечего.
Проверить, что у вас не осталось помеченных на удаление объектов.
Потом.
Вариант 1. Выгрузка/загрузка через dt с предварительным бэкапом.
Вариант 2. РИБ - все в дочернюю базу. Отключаем от РИБ. ТИС. Пользуемся дочерней.
Вариант 3. dt - MS SQL - dt. Рискованный, из-за возможного преобразования типов данных. Не помню, что там было, кажется что-то с точностью.
По превышению допустимого размера таблиц вывалиться не должны, но все равно лучше, так не надо.
Хотя народ делает, даже видеоролик сейчас нашел.
1 - РИБ нет.
1.1 синхронизация с БП - только по одной организации, так что все удаленные объекты в выгрузку не попали
2 - помеченных на удаление объектов больше не осталось, все удали.
3 - выгрузка в ДТ тоже стала больше, поэтому выгрузка/загрузка через ДТ думаю не поможет, но проверю сегодня это предположение
4 - перенос базу на скуль, ТиИ, шринк, выгруззка в ДТ и оттуда опять файловую развернуть - попробую сегодня
1.1 синхронизация с БП - только по одной организации, так что все удаленные объекты в выгрузку не попали
2 - помеченных на удаление объектов больше не осталось, все удали.
3 - выгрузка в ДТ тоже стала больше, поэтому выгрузка/загрузка через ДТ думаю не поможет, но проверю сегодня это предположение
4 - перенос базу на скуль, ТиИ, шринк, выгруззка в ДТ и оттуда опять файловую развернуть - попробую сегодня
Ответа на вопрос не знаю, но к Вашему вопросу присоединяюсь. У меня тоже самое - после удаления база становится еще больше (ну или меньше не становится). Напишите, пожалуйста, сюда если получится ужать и каким способом получилось. Буду благодарен. База именно файловая. Ужимать через SQL сервер и обратно - это какой-то жуткий вариант. Очень жаль, если он окажется единственным.
И так
после переноса на СКЛ + сжатие базы средствами СКЛ + ТиИ(Сжатие таблиц в том числе) + выгрузка в dt = размер ДТшника почти не изменился, размер базы тоже.
База попала мне уже в DT формате, задача была удалить данные по двум организациям из трех. При этом какой то горе программист до этого очень оригинальным способом решил удалить организации - тупо удалил их в конфигурации без проверки. А что бы не было битых ссылок в базе в конфигураторе запусти ТиИ с очисткой битых ссылок. Ну естественно ЗУП не потерпел такой наглости и большинство доков перестали проводиться. Вот собственно базу и отдали мне на восстановление, точнее удаление мусора.
Все данные вычистил, обратно "свернул" DTшник и удивился. Ко мне попал файл 1,767гб, а от меня уходит файл 1,769гб - при этом удалено реально более 90% всех данных из базы
После манипуляций со скулем ДТшник стал весить 1,737гб. и это для типовой ЗУП практически без документов.
Кто помнит времена 1С 7.7 там тоже было удаление объектов, но при этом они оставались а файлах БД, ни куда не исчезали, просто ставилась пометка о том что эти данные удалены. И только после того как в конфигураторе запускаешь ТиИ, только тогда данные удалялись бесследно. Вот думаю, может и сейчас так же.
Стало интересно, на досуге займусь переносом обеих баз в скуль(до удаления и после) и попробую отследить в каких таблицах что уменьшилось или прибавилось по количеству данных.
после переноса на СКЛ + сжатие базы средствами СКЛ + ТиИ(Сжатие таблиц в том числе) + выгрузка в dt = размер ДТшника почти не изменился, размер базы тоже.
База попала мне уже в DT формате, задача была удалить данные по двум организациям из трех. При этом какой то горе программист до этого очень оригинальным способом решил удалить организации - тупо удалил их в конфигурации без проверки. А что бы не было битых ссылок в базе в конфигураторе запусти ТиИ с очисткой битых ссылок. Ну естественно ЗУП не потерпел такой наглости и большинство доков перестали проводиться. Вот собственно базу и отдали мне на восстановление, точнее удаление мусора.
Все данные вычистил, обратно "свернул" DTшник и удивился. Ко мне попал файл 1,767гб, а от меня уходит файл 1,769гб - при этом удалено реально более 90% всех данных из базы
После манипуляций со скулем ДТшник стал весить 1,737гб. и это для типовой ЗУП практически без документов.
Кто помнит времена 1С 7.7 там тоже было удаление объектов, но при этом они оставались а файлах БД, ни куда не исчезали, просто ставилась пометка о том что эти данные удалены. И только после того как в конфигураторе запускаешь ТиИ, только тогда данные удалялись бесследно. Вот думаю, может и сейчас так же.
Стало интересно, на досуге займусь переносом обеих баз в скуль(до удаления и после) и попробую отследить в каких таблицах что уменьшилось или прибавилось по количеству данных.
(10)
На SQL серере смотрите какая таблица сколько занимает.
Что-то тут не так. Выглядит как если бы вы на самом деле ничего не удалили.
Попробуйте
use ВАЩА_БАЗА;
IF OBJECT_ID('tempdb..#result', 'U') IS NOT NULL
DR OP TABLE #result;
CRE ATE TABLE #result
(
ID INT IDENTITY(1, 1)
, name NVARCHAR(255)
, rows BIGINT
, reserved NVARCHAR(255)
, data NVARCHAR(255)
, index_size NVARCHAR(255)
, unused NVARCHAR(255)
)
DECLARE @SQL NVARCHAR(MAX) = '';
SEL ECT @SQL+='EXEC sp_spaceused '''+S.name+'.'+T.name+''';'
FROM sys.tables AS T
INNER JOIN sys.schemas AS S ON S.schema_id=T.schema_id
INS ERT INTO #result
EXEC (@SQL);
SELE CT * FR OM #result
ORDER BY rows DESC
Думаю, натолкнет на какие-то мысли.
размер ДТшника почти не изменился, размер базы тоже
На SQL серере смотрите какая таблица сколько занимает.
Что-то тут не так. Выглядит как если бы вы на самом деле ничего не удалили.
Попробуйте
use ВАЩА_БАЗА;
IF OBJECT_ID('tempdb..#result', 'U') IS NOT NULL
DR OP TABLE #result;
CRE ATE TABLE #result
(
ID INT IDENTITY(1, 1)
, name NVARCHAR(255)
, rows BIGINT
, reserved NVARCHAR(255)
, data NVARCHAR(255)
, index_size NVARCHAR(255)
, unused NVARCHAR(255)
)
DECLARE @SQL NVARCHAR(MAX) = '';
SEL ECT @SQL+='EXEC sp_spaceused '''+S.name+'.'+T.name+''';'
FROM sys.tables AS T
INNER JOIN sys.schemas AS S ON S.schema_id=T.schema_id
INS ERT INTO #result
EXEC (@SQL);
SELE CT * FR OM #result
ORDER BY rows DESC
Думаю, натолкнет на какие-то мысли.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот