我有一个在SQL Server 2005升级期间刚刚复制的MDF文件; 我已经添加了12个更多的NDF文件到那个FILEGROUP。
理想情况下,我会使用DBCC SHRINKFILE(File1,EMPTYFILE)来重新平衡; 但是它出奇的慢。 我想把70Gb转移到更易处理的区块中; 但是在不使用EMPTYFILE的情况下执行DBCC SHRINKFILE并不实际将数据推送到其他文件中; 和EMPTYFILE,直到它清空文件。
有关如何逐步做到这一点的任何build议?
谢谢,
你可以重build索引(碎片整理不会帮助任何人,因为它只是在同一个文件中移动数据)。 如果不够好,则创build另一个文件组,然后将群集索引重新构build到新的文件组中。 这将把表移动到新的文件组。 然后再次重build它们回到原来的文件组,将它们移回。 对非聚簇索引执行相同的操作。
如果你重新编制数据,我相信你会有更好的结果。 这将导致SQL Server尝试移动数据,只要您的表具有聚簇索引。 您可以手动重新索引表中的一个表,或者等到您的下一个重新索引维护时段。 我会做双加确保其他文件有足够的空间; 你不想依靠autogrowth这个。