У меня SQL Server 2016 (v13.0.4001.0) 64-разрядный на сервере Windows.База данных состоит из 7 таблиц, 6 из которых очень маленькие (это несколько строк с конфигурациями) и одна основная таблица с данными, которые не сопоставлены с другими таблицами.
Вчера я получил ошибку
Не удалось выделить место для объекта 'dbo.table'. 'PK_table' в базе данных 'dbname', потому что файловая группа 'PRIMARY' заполнена.
Поэтому я ищусамый простой способ решить это (я новичок в этом, и было бы неплохо найти простое решение).
Что я ожидаю: мне нужно уменьшить размер БД (или моего основногостол) на 2-3 гб.Этого места хватает на 1-2 года работы моего приложения.
Опции, которые я нашел:
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 машин.Я уже пробовал, и это не так просто, потому что я получил эту ошибку .
Используйте термоусадку.Я не совсем уверен, что это безопасно для основных данных, потому что я использовал это только для журналов ранее.Но, насколько я понимаю, это будет работать для меня, потому что мои базы данных работают годами без каких-либо внешних действий.Я имею в виду, что никто не работает с этим \ очищает его \ и т.д.
Я тоже не уверен, но я узнал 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>
результат общего отчета для таблицы из ssms: