Восстановленная база данных занимает огромное количество места

Я восстановил базу данных с файлом .bak размером 1,5 ГБ. Все работает нормально, за исключением того, что восстановленная база данных теперь занимает 64 ГБ места.

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

Мне не нужны полные журналы в среде разработки, где я делаю восстановление. Как узнать, данные или журналы занимают больше места?

Я использую SQL Server Management Studio 2017.


person Steve Waters    schedule 06.02.2018    source источник
comment
файлы резервных копий обычно сжимаются, поэтому это ожидаемое поведение, попробуйте сжать файлы, это не удалит данные, это освободит пространство, которое было выделено, но не использовано. вам также необходимо указать некоторые дополнительные сведения, поскольку вы не сказали, занимает ли основная часть пространства журнал или файл данных и нужны ли вам полные журналы в среде восстановления.   -  person Tanner    schedule 06.02.2018
comment
Я добавлю эти детали к вопросу   -  person Steve Waters    schedule 06.02.2018
comment
Проверьте, поможет ли это вам: stackoverflow.com/questions/48617895/ Он касается аналогичной проблемы; сжатие файла журнала никоим образом не повредит данным.   -  person Raska    schedule 06.02.2018
comment
Похоже, вы не делали резервных копий журнала транзакций, если вы не делаете резервную копию и не усекаете журнал, он будет просто расти и расти, особенно если вы выполняете большие операции, такие как удаление всех записей из таблицы и повторное ее заполнение и т. д.   -  person Charleh    schedule 06.02.2018
comment
Можно ли удалить таблицы из восстановленной базы данных? Попробуйте выяснить, какие таблицы занимают больше всего места, и либо удалите из них строки, либо удалите всю таблицу... Если вы в конечном итоге удалите строки, выполните операцию сжатия, чтобы уменьшить используемое пространство...   -  person bastos.sergio    schedule 06.02.2018
comment
@bastos.sergio - вы советуете ему удалить базовые данные, чтобы освободить место на диске, прежде чем сжимать базу данных? Это не кажется очень хорошим советом. Почему вы предположили, что он может просто удалить данные? Также удаление данных не поможет, если он запущен в модели полного восстановления и проблема в большом лог-файле.   -  person user3444696    schedule 07.02.2018


Ответы (3)


Может логи?

Я предлагаю вам проанализировать, подходит ли это вам. Сделайте резервные копии намного короче: Подробнее

BACKUP DATABASE XXXXX TO DISK 'C:\XXX.bak' WITH COPY_ONLY

Вы также можете изменить Recovery Модель с полной (по умолчанию) на простую после восстановления.

Это показывает, где вы можете это изменить


Затем УМЕНЬШИТЕ его.


Честно говоря, я не уверен, что все это необходимо, но мне помогает уменьшить пространство. Возможно, сжатие перед изменением модели восстановления лучше, или, может быть, один из этих способов не самый лучший.

person Bruno Miquelin    schedule 06.02.2018

Вы можете увидеть, каков размер файла базы данных в вашей резервной копии, используя

restore filelistonly from disk = 'here_the_full_pass_to_your_backup_including_file_name'

Таким образом, вы можете спланировать, сколько места ему потребуется.

Как узнать, данные или журналы занимают больше места?

Пожалуйста, обновите свой вопрос с результатами

use MyDB;
exec sp_spaceused;
person sepupic    schedule 06.02.2018

Ваш вопрос: "Как узнать, данные или логи занимают больше места?"

Ответ: Вот один из способов. Щелкните правой кнопкой мыши свою базу данных в Sql Mgt. Studio, щелкните Отчеты=>Стандартные отчеты, а затем использование диска.

Если вы не понимаете различий между полной и простой моделями восстановления, я рекомендую вам немного почитать. Также поймите последствия сжатия файлов и автоматического увеличения. Сжатие файлов не приведет к потере зафиксированных данных, но позже приведет к снижению производительности, если и когда Sql потребуется автоматически увеличить файлы.

Если вам не нужна полная модель восстановления и вас не беспокоит автоматическое увеличение, измените ее на простую или с неполным протоколированием, а затем сократите файл(ы) журнала.

Если вас не беспокоит автоматическое увеличение, вы также можете уменьшить файл(ы) данных.

person user3444696    schedule 06.02.2018