пустой файл резервной копии sql server 2008 db очень большой - PullRequest
1 голос
/ 21 марта 2011

Я развернул свою БД, я более или менее опустошил БД (данные), а затем создал резервную копию.

Размер файла .bak превышает 100 МБ.

почему это? как мне получить это?

я использую sql server 2008

1 Ответ

3 голосов
/ 21 марта 2011

EDIT

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


Запустите это, и все будет обнаружено:
select dpages *8 [size in kbs]
from sysindexes
where indid <= 1
order by 1 desc

Вы также можете ..

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

Существует также проблема с утечками дескрипторов компонента Service Broker, если вы используете SSSB в своей базе данных с неправильным кодом, но если это так, запрос выше покажет это.


Чтобы уменьшить размер, вы можете использовать WITH COMPRESSION, например.

backup database mydb to disk = 'c:\tempdb.bak' with compression

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

exec sp_spaceused

Для просмотра распределения данных / журналов. Из того, что вы говорите, 1,5 МБ для первой таблицы ... до 8 КБ в 45-й строке, что составляет, возможно, десятки МБ, поэтому остальное может быть в файле журнала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...