Файл резервной копии слишком велик SQL Server 2012

#sql-server #backup

#sql-сервер #резервное копирование #sql-server

Вопрос:

У меня есть база данных размером 839 МБ, потому что, вероятно, в ней много изображений, и когда я делаю следующее в моей SQL Management Studio: щелкните правой кнопкой мыши на базе данных -> Задачи -> Резервное копирование .. и после создания резервной копии базы данных MyBackup.размер файла bak составляет 829 МБ, разве он не должен быть меньше? Мне нужно загрузить мой файл .bak на другой сервер, а максимальный размер загрузки составляет около 250 МБ, поэтому, как вы можете видеть, у меня проблема.

Итак, мой вопрос заключается в том, как уменьшить размер .Файл BAK на SQL Server.

Комментарии:

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

Ответ №1:

В мастере резервного копирования базы данных попробуйте настроить сжатие резервной копии на Сжатие резервной копии

Щелкните правой кнопкой мыши База данных -> Задачи -> Резервное копирование .. -> Параметры резервного копирования -> Установить сжатие резервной копии -> Сжать резервную копию

T-SQL

 BACKUP DATABASE databasename TO DISK='path..'
WITH COMPRESSION
  

После создания резервной копии проверьте размер резервной копии. Если он по-прежнему не меньше 250MB , то используйте любое приложение zip / compress ( 7zip,winzip,.. ), присутствующее в Windows, для сжатия файла резервной копии.

Комментарии:

1. Я получил следующее сообщение об ошибке после того, как я выбрал Compress backuup «System.Data.SqlClient.SqlError: Резервное копирование не может быть выполнено, поскольку «СЖАТИЕ» было запрошено после того, как носитель был отформатирован с несовместимой структурой. Чтобы добавить к этому набору носителей, либо опустите ‘COMPRESSION’, либо укажите ‘NO_COMPRESSION’. Кроме того, вы можете создать новый набор носителей, используя WITH FORMAT в инструкции BACKUP. Если вы используете WITH FORMAT на существующем наборе носителей, все его резервные наборы будут перезаписаны. (Microsoft.SQLServer.Smo)»

2. @Roxy’Pro — Измените путь к резервной копии или имя резервной копии и повторите попытку

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

4. @Roxy’Pro — Тогда вам придется использовать программу zip для его сжатия .. попробуйте использовать 7zip или программу сжатия Windows по умолчанию. От SQL SERVER Я не думаю, что существует какой-либо другой вариант сжатия файла резервной копии.

5. Я пробовал с WinRAR. Конечный размер составляет 400 МБ, это все еще лучше, чем 780 МБ, но мне нужно уменьшить его еще на 150 МБ для загрузки: // damnn : D

Ответ №2:

 -- If the database size too big better to go for Split backup so that it splits backup process and it will be faster
Use Master
Go
BACKUP DATABASE [DatabaseName] 
TO  DISK = N'Your PathDatabaseName_1.bak' ,
DISK = N'Your PathDatabaseName_2.bak' ,
DISK = N'Your PathDatabaseName_3.bak'-- You can split up to 'n' nmber of disk loactions depends od size of backup file
WITH NOFORMAT, 
NOINIT,  NAME = N'DatabaseName-Full Database Backup', 
SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 5
GO