Как я могу уменьшить размер таблицы в SQL Server? - PullRequest
0 голосов
/ 03 октября 2018

У меня SQL Server 2016 (v13.0.4001.0) 64-разрядный на сервере Windows.База данных состоит из 7 таблиц, 6 из которых очень маленькие (это несколько строк с конфигурациями) и одна основная таблица с данными, которые не сопоставлены с другими таблицами.

Вчера я получил ошибку

Не удалось выделить место для объекта 'dbo.table'. 'PK_table' в базе данных 'dbname', потому что файловая группа 'PRIMARY' заполнена.

Поэтому я ищусамый простой способ решить это (я новичок в этом, и было бы неплохо найти простое решение).

Что я ожидаю: мне нужно уменьшить размер БД (или моего основногостол) на 2-3 гб.Этого места хватает на 1-2 года работы моего приложения.

Опции, которые я нашел:

  1. MS dev dev.версия SQL Server https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-clean-db-free-space-transact-sql?view=sql-server-2017 и не имеет ограничения 10 ГБ.Это немного сложный путь, потому что я должен установить и настроить его вручную на 8 машин.Я уже пробовал, и это не так просто, потому что я получил эту ошибку .

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

  3. Я тоже не уверен, но я узнал sp_clean_db_free_space (https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-clean-db-free-space-transact-sql?view=sql-server-2017).Из описания я понял, что это может быть использовано для моей проблемы.Может быть, я ошибаюсь.

Также о моей основной таблице:

результат exec sp_spaceused <table_name>

first

результат общего отчета для таблицы из ssms:

second

1 Ответ

0 голосов
/ 05 октября 2018

@ SeanLange Спасибо, ты был прав.После удаления некоторых данных физический размер БД в папке не изменился, но исключение пропало.Итак, термоусадочные и другие методы не использовались.Но psysicall выделил место на диске немного смутил меня во время моих попыток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...