2010-10-16 1 views
0

Недавно мы переместили значение столбца из существующей таблицы в новую таблицу, чтобы оно могло находиться на отдельном диске.Восстановление неиспользуемого пространства в таблице SQL

Существующий столбец все еще остается, но имеет значение null, поскольку некоторые исторические приложения могут ссылаться на этот столбец при записи данных.

В таблице теперь есть неиспользуемое пространство на 10 ГБ, которое мы не можем восстановить даже после восстановления индекса Clustered, а также запустив DBCC SHRINKDATABASE и SHRINKFILE.

Как мы можем вернуть это 10 ГБ неиспользуемого пространства в этой таблице, так как таблица в новой форме не будет расти еще на 10 ГБ в следующем году +, однако другие таблицы в базе данных будут продолжать расти, и мы хотим вернуться это 10 ГБ в общий пул баз данных.

Повторяю, как мы можем вернуть это 10 ГБ неиспользуемого пространства в конкретной таблице (учитывая, что таблица не пуста)?

+0

не связанный с программированием ... принадлежит на serverfault или суперпользователе –

ответ

1

Вы пытались импортировать стол в новый стол? Это был бы самый простой способ проверить, есть ли свободное место. Если вы не хотите вырастить эту БД (так как она может вырасти еще на 10 ГБ), вы можете создать временную БД и импортировать туда, чтобы начать с пустой БД минимального размера. Кроме того, если у вас есть полная регистрация в БД, вы можете сделать ПОЛНОЕ резервное копирование, прежде чем пытаться использовать SHRINKDATABASE/SHRINKFILE.

+0

Да, это в значительной степени то, что мы решили пойти, нам просто нужно следить за любыми ограничениями FK и тому подобным. – Seph

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