Назад | Перейти на главную страницу

Файл резервной копии SQL Server значительно меньше после воссоздания таблицы

Мы выполняем автоматическое еженедельное резервное копирование нашего SQL Server. Рассматриваемая база данных настроена для простого восстановления. Мы делаем резервное копирование с использованием полного, а не дифференциального.

Недавно нам пришлось воссоздать одну из наших таблиц с данными (сделав 2 поля varchar на пару символов длиннее). Это потребовало запуска сценария, который создал новую таблицу, скопировал данные, а затем удалил старую. Это сработало правильно.

Как ни странно, наши файлы еженедельных резервных копий теперь СЖИМАЮТ более чем на 75%! Таблицы не имеют больших индексов. Все данные были скопированы правильно (и проверены). Я убедился, что мы делаем полное, а не инкрементное резервное копирование. Новые файлы восстанавливаются нормально.

Кажется, я не могу понять, почему файлы резервных копий так сильно сжались? Я также заметил, что каждую неделю они становятся примерно на 10 МБ больше, хотя добавляется меньше этого количества данных.

Думаю, я просто чего-то не понимаю. Любое понимание будет оценено.

Если там есть все данные, то это комбинация журналов транзакций для базы данных, которые фиксируются в базе данных и удаляются с диска, и любые «пустые места» в базе данных удаляются. Для большинства баз данных, когда данные удаляются, строка удаляется, но впоследствии в эту строку не вставляются новые данные, поэтому вы можете получить значительное количество «белого пространства», которое не содержит данных, но занимает физическое пространство. все так же.

Существует разница между логическим размером базы данных (размером, который занимают данные) и физическим размером базы данных (размером, который занимает файл или файлы базы данных), причем разница обычно [почти всегда] является комбинацией двух упомянутых вещей. выше.