2015-09-09 2 views
0

Я допустил ошибку в своей логике и позволил столу расти дальше того, что должно было произойти. Теперь база данных - 90gb (где она должна быть 10gb). Я смог очистить таблицу, в которой была вся эта информация, но я не могу заставить базу данных сжиматься.Проблема с ростом базы данных SQL Server

Я использовал dbcc shrinkDatabase и dbcc shrinkfile и, похоже, временно сократил базу данных до 82gb, а затем сразу же вернется на 90gb через минуту или около того. Я уверен, что другая таблица не занимает пространство.

Кроме того, если я экспортирую БД, это всего лишь около 5 гб.

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

Для местоположения такого размера, используя мое приложение, типично иметь 8-10 гб использования файла DB.

Кто-нибудь знает, как уменьшить размер БД до нормального размера?

+0

От «db size», что именно вы измеряете? Вы включаете журнал транзакций такого размера? –

+0

К сожалению, следовало бы упомянуть об этом; это 3gb для журнала транзакций – DaBlue

+0

О, и размер связан с физическим размером файла на сервере. – DaBlue

ответ

0

Благодаря Шеннону я получил свой ответ. Мне нужно выполнить следующую команду, чтобы очистить таблицу до DBCC cleantable («Имя_базы_данных», имя_таблица) DBCC SHRINKDATABASE («databasebame», 10)

Затем я попытался восстановить кластерный индекс таблицы без толка (вероятно, потому, что стол вырос настолько большой, что он был очень фубар), поэтому я сбросил и заново создал индекс.

Пространство пришло к тому, что я ожидал увидеть.

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