Мне было поручено перенести данные файлов из одной базы данных SQL-сервера в другую. В настоящее время существует база данных SQL Server 2005, в которой хранится файл в поле типа изображения. Происходит миграция, при которой эти файлы перемещаются в установку SQL 2008 Filestream, которая отлично работает. Файлы переносятся партиями, но я столкнулся с проблемой, так как размер файла БД не уменьшается. Сценарий миграции перемещает пакет, а затем удаляет его. Записи больше не доступны по запросу в старой базе данных, и они были успешно перемещены, но, как я уже сказал, размер файла не меняется.
Мне нужно уменьшить размер, чтобы учесть следующий пакет, так как исходная БД составляет почти 1 ТБ, просто не хватает места для двух копий.
Я пробовал SHRINKFILE, но это не работает. Любая помощь приветствуется.
Сжатие базы данных должно помочь. Он должен хотя бы сказать вам, сколько вы можете вернуть.
Попробуйте dbcc shrinkdatabase ('mydbname')
Это безопасная команда, хотя я бы не стал ее использовать, когда база данных интенсивно используется.
JR
Сделка совершена? В противном случае вы не сможете вернуть это место.
Вы уверены, что делаете сжатый файл и для правильного файла данных? Или вы делаете shrinkdatabase?