Вопрос

У меня следующая проблема.У нас есть база данных, в которой хранятся двоичные файлы.Мы знаем, что размер базы данных может быть большим, поэтому мы удалили все двоичные файлы из базы данных и применили к ней задачу «сжать».Таким образом, мы надеялись, что база данных будет намного меньше.Вот результаты:

до удаления размер был:20 Гигабайт после размера удаления был:25 Гигабайт (файл журнала inc) после сокращения размер был:13 гигабайт

теперь понятия не имею, откуда эти 13 гигов, самая большая таблица в базе данных - это logtable, а она 1,3 гига, все остальное вместе взятое не занимает 200 мб...

может ли быть так, что в файле журнала все еще есть какие-то данные, которые задача сжатия не может удалить?есть ли решение этой проблемы?

Это было полезно?

Решение

Если ваша модель восстановления «Полная» и вы не выполнили резервное копирование, а затем сократили журнал транзакций, он все равно может оставаться большим.

В зависимости от вашей ситуации, один из самых простых способов сжать журнал транзакций — установить для модели восстановления простую модель, затем сжать файлы журнала транзакций, а затем снова установить модель восстановления на полную.Однако, если это производственная система, где вам может потребоваться восстановление на определенный момент времени, вместо этого вам следует выполнить резервное копирование журнала транзакций.

Другие советы

Чтобы получить дополнительную информацию об использовании пространства, вы можете попробовать:

EXEC sp_spaceused;

Пожалуйста, не забудьте настроить резервные копии журнала транзакций (а не только резервные копии базы данных, поскольку они не будут уменьшать размер журнала, как вы узнали) после того, как вы прислушаетесь к совету Робина Дэя и уменьшите журнал, иначе ваш журнал снова станет большим.Наши журналы транзакций копируются каждые 15 минут.Возможно, ваш график должен быть более или менее частым в зависимости от того, сколько данных вы можете позволить себе потерять в случае сбоя.Как минимум, я бы делал ежедневное резервное копирование журнала, чтобы журнал имел разумный размер.

Одна из возможностей заключается в том, что таблица, из которой вы удалили данные, представляет собой кучу (означает, что нет кластерного индекса), и когда вы удаляете из кучи, пространство, выделенное для таблицы, не обязательно будет освобождено.Проверьте эту статью от MS: http://support.microsoft.com/kb/913399

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top