SQL Server: Почему был бы.MDF и.LDF файлы растут до 1 ГБ + для базы данных, которая содержит 1 таблицу только 10 строк

1
задан 12 July 2010 в 03:49
5 ответов

MDF, возможно, был создан как 1 ГБ - или он содержал намного больше, чем всего 10 строк в какой-то момент вовремя. MDF's обычно не уменьшается в размере при удалении данных от них. Для возвращения размера вниз, необходимо было бы почти создать новую базу данных, удостоверьтесь, что установили ее начальный размер низко и затем скопировали по данным от той таблицы до новой базы данных.

LDF (файл журнала транзакций) вырастет при выполнении большого количества SQL-операторов, которые должны быть зарегистрированы, например, вставляют, обновления, удаляет и другие вещи. Используя резервные копии журнала регулярно, можно сохранить файл журнала транзакций небольшим, и переключение базы данных к Простой модели восстановления (вместо Полного) также значительно поможет.

7
ответ дан 3 December 2019 в 16:14

Одна строка с отдельным столбцом может иметь 2 ГБ.

Но даже если таблица является действительно небольшим, текущим размером, не показательно из прошлого. Таблица может иметь 10 строк после того, как 100 миллионов строк были удалены. Журнал сохранит все действие, пока не будет сохранен. Базы данных не уменьшаются после роста, и при этом они не должны быть вынуждены к пустому для экстраординарных обстоятельств.

4
ответ дан 3 December 2019 в 16:14
  • 1
    Как Marc уже сказал, размер BAK не означает много. Операции восстановления восстановят размер файлов MDF к их первоначальному размеру перед резервным копированием. –  Remus Rusanu 12 July 2010 в 02:25

Вы храните БЛОБЫ в своей Базе данных? Блобы (большой двоичный объект) s useally используют память больше, чем другие вещи.

1
ответ дан 3 December 2019 в 16:14

Как многие люди сказали, существует много причин thta, мог заставить Ваши физические файлы вырасти, даже если Вы храните очень небольшие данные в своей базе данных.

Если Вы нуждаетесь и/или хотите, можно уменьшить их к необходимому абсолютному минимуму. Сначала возьмите резервное копирование журнала транзакций базы данных (это уменьшит журналы транзакций), затем используйте DBCC SHRINKDATABASE команда (или эквивалентная эксплуатация GUI в Studio управления).

0
ответ дан 3 December 2019 в 16:14

Не отвечает на Ваш вопрос, но если можно повторить восстановление, Вы могли бы использовать Профилировщика для "наблюдения", какие процессы касаются рассматриваемой базы данных.

0
ответ дан 3 December 2019 в 16:14

Теги

Похожие вопросы