При удалении записей в базе данных они только помечаются, как удаленные, а место реально не освобождается. Это позволяет значительно увеличить скорость удаления, но при массовой чистке данных это может быть не совсем то, что вам нужно.
Чтобы физически освободить место в базе данных:
- открываем SQL Server Management Studio
- кликаем правой кнопкой по базе данных и выбираем Tasks -> Shrink -> Database

Здесь можно увидеть, сколько выделено дискового пространства под базу данных и сколько из этого пространства свободно. В моем случае в страницах данных свободны 18% и их можно освободить. Тут больше стоит вопрос – а нужно ли?
18% в наше время это мелочи жизни. Если их освободить, то страницы данных будут заполнены и при вставке новых данных серверу придется выделать эти страницы, что потребует время, что может затормозить процесс вставки данных, особенно, если у вас не SSD диск.
Файлы базы данных я высвобождал несколько раз после массового удаления данных. Опять же, когда я работал на Sony, то когда мы получали резервную копию с серверов для своих тестов, сразу же запускался процесс удаления всех персональных данных и в реальности база данных значительно сокращалась. После массового удаления персональных данных я освобождал свободное пространство, но все равно оставлял около 10% свободными.
Точно так же можно освободить и журнал транзакций. Это мне приходилось несколько раз делать, когда мы сталкивались с плохим запросом, который выгребал из базы данных слишком много данных. Такой запрос приводил к тому, что журнал рос до предела и потом нужно было освободить пространство. Для журнала так же желательно иметь пустое пространство. Даже если вы освобождаете место, обязательно оставьте пустое пространство.
Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.
Добавить Комментарий