情况如下:
使用SQL Server 2005,我已经完成并更新了几个表中的主键(char(16)),用其他表替换了前六个字符中的一大块。 (我正在做这个,作为我工作中数据清理项目的一部分)。
这些表中的大多数都包含数百万行,并且可能还有1或2个非聚集索引。
执行这些更新后,数据和索引使用的数据页似乎加倍,从而导致MDF的大小加倍。我已经针对原始数据库的另一个副本(如列数据类型,排序规则,已使用/保留/未使用的空间)检查了几项内容,甚至创建/更新了所有内容的统计信息,然后对数据进行了缩减。没有什么能帮助或暗示增加规模的原因。顺便说一下,两个数据库之间的行数是相同的,所以它不是重复的行或类似的东西。
我没有执行'dbcc checkdb'或重建索引 - 这些是我最后的想法。有没有人见过类似的东西?
TLDR - 数据库MDF在更新具有数百万行的多个表的主键后翻倍。检查了列数据类型,行数,数据/索引大小。更新了统计数据并尝试缩小。什么都行不通。 HALP!
答案 0 :(得分:2)
您需要使用常规填充因子重建索引,以确定您的页面使用是否已中断。