2010-01-15 4 views
0

У меня есть 2 .bak файлов для той же базы данных на сервере MSSQL. Один из них - это пробный снимок, а второй - производственный снимок. Тест-тест составляет около 500 МБ, а производственный - около 10 ГБ. Это связано с тем, что Test one имеет множество таблиц, укороченных. Когда я восстанавливаю их на сервере sql, файл .mdf создается в папке \Microsoft SQL Server\MSSQL.1\MSSQL\Data. Но я вижу, что sze файла .mdf составляет около 10 ГБ, даже когда я восстанавливаю только тестовый снимок. Поскольку в тестовом снимке много сокращенных таблиц, а данных меньше, я бы предположил, что размер файла .mdf должен быть меньше, чем для моментального снимка. Но это не тот случай. Сохраняет ли sql-сервер пространство в файле mdf и, следовательно, такое же значение для обеих версий?Несоответствие размера файлов mdf в SQL-сервере

+0

Какая версия sql? – Hogan

+0

sql server 2005 – Thunderhashy

ответ

2

Да, это не место для резервирования. Вы можете увидеть это на странице создания базы данных, а затем на страницах свойств.

+0

Как мы можем сказать, чтобы не резервировать пространство? – Thunderhashy

+0

ошибка ... вы должны отсоединиться и снова подключиться, я думаю. Попробуйте это: щелкните правой кнопкой мыши db, выберите задачи, сократите, базу данных. Если это не сработает, вы можете попробовать сжать файлы. (В студии управления sql 2008) – Hogan

+0

Но я могу сделать это только после восстановления db. Мне нужно сделать это, прежде чем восстанавливать db. – Thunderhashy

2
  • МДФ = пространство, зарезервированное
  • Бака = 8k страницы с данными

Когда база данных восстанавливается, она считывает размер от sys.database_files. Страницы возвращаются в одно и то же относительное место.

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

Вы используете (цифры приблизительные) 64000 страниц, но есть зарезервировано 12 800 000

Смежные вопросы