Как уменьшить размер базы данных сервера MS SQL

389
curious1

У меня есть веб-сайт, который работает на MS SQL Server 2014 Enterprise с двумя кластерными виртуальными машинами и AlwaysOn. Резервная копия базы данных создается каждую ночь, и ее размер теперь составляет 20 ГБ.

На моем ноутбуке я также установил MS SQL Server 2014 Enterprise. Я загрузил резервную копию базы данных 20G, а затем создал резервную копию. Интересно, что размер этой резервной копии составляет около 3 ГБ . Почему такая большая разница? Я действительно надеюсь, что производственная установка также создает резервные копии с одинаковым размером.

Если я восстановлю базу данных на компьютере с резервной копией 3 ГБ с моего ноутбука, я что-нибудь потеряю? Какие-либо последствия? Смогу ли я снова получить 20ГБ ночных резервных копий? У меня есть индексы на текстовые поля некоторых таблиц. Ничего особенного.

Обратите внимание, что мне не нужны журналы транзакций. Мне не нужно возвращать базу данных к предыдущей точке данных. Я просто хочу уменьшить размер резервной копии на рабочем сервере.

Спасибо за любую информацию!

1
«Г» не размер. «G» обычно означает «поколение» или относится к числовому индикатору «Giga». При указании размера используйте правильные термины «ГБ» или «ГБ», чтобы мы могли четко понимать, о чем вы говорите. music2myear 6 лет назад 0
Кроме того, вам нужны Tlogs, и вам нужны резервные копии. Говорить иначе - глупо, если этот сайт не является полностью личным, и вас не волнует, исчезнет ли он завтра без следа. music2myear 6 лет назад 1
Наконец, какое регулярное обслуживание вы выполняете на БД? MSSQL имеет встроенное автоматическое и регулярное обслуживание, которое он может выполнять, включая сокращение БД. Вы установили какие-либо из этих услуг? music2myear 6 лет назад 2
@ music2myear, спасибо, что присоединились! Я сожалею о размере базы данных. Это ГБ, и я внес исправления. Это бизнес-сайт для стартапа. Судя по твоей информации, мне кажется, мне нужно нанять профессионала для работы. Вы в Вашингтоне, округ Колумбия? Хотите помочь нам? curious1 6 лет назад 0
@PimpJuiceIT, если вы можете опубликовать два комментария в качестве ответа, я выберу его в качестве решения. curious1 6 лет назад 0

1 ответ на вопрос

2
Pimp Juice IT

Процесс

На вашем «производственном» сервере из SSMS перейдите в « Свойства сервера»> «Параметры базы данных» в этом экземпляре SQL Server и убедитесь, что выбран параметр « Сжать базу данных» . Затем удалите или переименуйте файл резервной копии объемом 20 ГБ, а затем снова запустите задание полного резервного копирования.

ПРИМЕЧАНИЕ. Обязательно удалите файл SQL BAK размером 20 ГБ или переименуйте его, прежде чем снова запускать резервное копирование после проверки параметра Сжать базу данных, хотя в противном случае вы не увидите экономии места.


Ваши риски и корректировка модели восстановления

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

Рекомендуется изменить модель восстановления БД на простую и выполнять только полное резервное копирование БД, перезаписывать существующую резервную копию при каждом запуске и не добавлять в существующую резервную копию.


Дальнейший ресурс