我的任务是将文件数据从一个 SQL 服务器数据库迁移到另一个。目前有一个 SQL 服务器 2005 数据库,该文件存储在图像类型字段中。正在进行迁移,将这些文件移动到 SQL 2008 Filestream 设置,效果很好。文件正在分批迁移,但我遇到了一个问题,因为数据库的文件大小并没有减少。迁移脚本移动批次然后删除批次。记录不再可通过旧数据库中的查询获得,它们已成功移动,但就像我说的,文件大小没有变化。
我需要减小大小以允许下一批,因为初始数据库接近 1TB,没有足够的空间来保存两个副本。
我尝试过 SHRINKFILE,但不起作用。任何帮助都非常感谢。
答案1
尝试 dbcc shrinkdatabase('mydbname')
这是一个安全的命令,尽管在数据库使用率很高时我不会使用它。
JR
答案2
收缩数据库应该可以解决问题。它至少应该会告诉您可以恢复多少。
答案3
事务提交了吗?如果没有,则无法回收该空间。
你确定你也对正确的数据文件执行了文件压缩吗?或者你正在执行数据库压缩?