2012-01-24 7 views
0

У меня есть база данных SQL Server 2008 R2 с двадцатью таблицами, и каждая таблица имеет около 10 столбцов. В нем нет данных, и все таблицы пустые, но размер базы данных составляет 20 мегабайт. Я попытался сжать и удалить файл журнала, но они не сработали. Размер файла журнала составляет 1 мегабайт, а размер файла базы данных - 19 мегабайт. Что мне делать? Я хочу удалить неиспользуемые пробелы.SQL Server Уменьшить размер файла базы данных

+0

Во-первых, вы должны задать реальный вопрос! Что ты пытаешься сделать? 20 МБ (журнал 1 МБ) - TINY! Поэтому ответ: вы ничего не должны делать. –

+0

@MitchWheat Я пытаюсь задать реальный вопрос. Моя проблема заключается в том, что мой файл базы данных составляет 20 мегабайт с 10 таблицами и 50 хранимыми процедурами, в то время как в таблицах нет данных. – Shahin

ответ

2

Схема займет некоторое пространство, но 20 МБ много. Я создал небольшой тест, добавил 50 таблиц с 10 столбцами ... и ничего, размер данных такой же, как и при создании базы данных (2048 кБ). Затем я взял базу данных с меньшим количеством таблиц (7), удалил все записи и сделал Shrink-> Database из студии управления, а файл данных сжимался до 2048 КБ. Вы уверены, что ваш файл базы данных составляет 20 МБ, возможно, это 2 МБ? Кроме того, вы сказали, что у вас есть 50 хранимых процедур. Я попытался бы удалить их, а затем сжать базу данных. Кроме того, я бы дважды проверить все мои таблицы, потому что может случиться, что в некоторых из них есть данные. В любом случае, вы правы, если в таблицах нет ничего, и у вас нет таких хранимых процедур, ваш файл данных должен опускаться до 2 МБ.

2

Какой объем вашей базы данных? Ваша база данных обычно не уменьшает размер модели. Вы также говорите, что all tables are empty, что означает, что определены, поэтому для хранения определений вам необходимо иметь некоторое хранилище. 20 МБ действительно ничего.

+0

Спасибо. Почему, когда я создаю резервную копию из базы данных и сжимаю это для zip-файла, сжатый размер файла меньше 1 МБ? Есть двадцать таблиц, и каждая таблица имеет около 10 столбцов. – Shahin

+2

... потому что вот что делает компресс! Это делает вещи меньше! –

+0

'Есть двадцать таблиц, и каждая таблица имеет около 10 столбцов'. Как насчет сотен объектов в 'sys.all_objects'? И я уверен, что ваши 'sys.syscomments' тоже не пустые. Как насчет 'sys.database_principals', или' sys.database_role_members'? И еще ... Ваша база данных поставляется с большим количеством загрузочных операций. –

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