Тот факт, что для столбца установлено значение nil, не означает, что база данных будет переоформлять таблицу.Обновленная запись будет по-прежнему помещаться на той же странице, на которой она размещалась ранее (объем свободного места на странице будет увеличиваться).
Кроме того, вы знаете, не так ли, что varchar (5000) нене означает, что это занимает 5000 октетов?Это переменная длина - префикс длины в два октета, содержащий длину данных поля, за которым следуют октеты данных.Для установки столбца varchar (5000) в строке в 'foobar' потребуется 8 октетов (2 + 6).
Перестройте ваши индексы, включая индекс кластеризации.
Еслиу вас нет кластеризованного индекса, добавьте его.Это заставит реорг стола.Теперь удалите индекс кластеризации.
Теперь, когда вы сжимаете файл данных, вам нужно освободить место на диске.