SQL Server备份文件在表格娱乐之后显着减小

我们运行SQL Server的自动化每周备份。 有问题的数据库被configuration为简单恢复。 我们使用完全备份而不是差异备份。

最近,我们不得不重新创build一个包含数据的表格(使得2个varchar字段更长)。 这需要运行一个脚本,它创build一个新的表格,复制数据,然后丢弃旧的。 这工作正常。

奇怪的是,我们的每周备份文件现在超过75%! 这些表没有大的索引。 所有的数据都被正确复制(并validation)。 我已经validation了我们正在进行完整备份而不是增量备份。 新的文件还原得很好。

我似乎无法弄清楚为什么备份文件会缩小这么多? 我也注意到,他们每周大约有10MB的大小,尽pipeless于这个数量的数据被添加了。

我在猜测,我根本不理解什么。 任何有识之士将不胜感激。

如果所有数据都在那里,那么这是数据库的事务日志的组合,这些日志被提交到数据库并从磁盘中删除,数据库中的任何“空白”都被删除。 对于大多数数据库,当数据被删除时,该行被删除,但是之后没有新的数据被插入到该行中,因此可以得到大量不包含数据的“空白”,但占用了物理空间全部都一样。

数据库的逻辑大小(数据占用的大小)和数据库的物理大小(数据库文件或文件占用的大小)之间是有区别的,差别通常是[几乎完全]是上述两种情况的组合以上。