我们有一个在 MSDE(SQL 2000,Service Pack 4)下运行的数据库,该数据库保留了大量的多余空间。对每个表使用 sp_spaceused 得到的总保留大小为 2102560 KB,数据大小为 364456 KB,未使用大小为 1690760 KB(即保留了近 4 倍的已用空间)。最糟糕的罪魁祸首是频繁写入但从未删除的表(事务日志记录)。通常,删除非常罕见,并且在记录的大小和数量方面非常小。磁盘上的数据库文件限制为 2 GB,这会导致备份等问题。我尝试过 DBCC SHRINKDATABASE、DBCC SHRINKFILE 和 DBCC REINDEX,但对磁盘上使用的文件大小没有影响2 个问题 - 如何缩小数据库文件大小以及如何阻止 SQL Server 保留多余的空间?谢谢保罗 最佳答案 使用 去 备份日志 WITH TRUNCATE_ONLY 去DBCC SHRINKDATABASE ( )去DBCC SHRINKFILE (, 5)去DBCC SHRINKFILE (, 5)去如果您不知道文件路径 exec sp_helpfile关于sql - SQL Server 上的预留空间过多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1368354/ 10-13 05:31