我有一个新的SQL Server 2014 (12.0.2000)实例,大约有 50 个数据库,它最近从 SQL Server 2005 升级而来。
他们使用了大量的备份空间,因此旧的维护计划被替换为不同的方法:
检查数据库完整性->备份数据库(完整)(带压缩) ->重建索引->维护清理
这种情况每天都会发生,而数据库没有被使用,并且它会将备份保留 5 天。
一开始它工作正常,并且保存了大量备份驱动器,但随后一些数据库开始以不稳定的文件大小进行备份。
一些显示文件大小变化的图像:
这个下降了很多,这是意料之中的。事情是,它又下降了两次(?)
另一个缩小一点,然后进一步缩小,最后比第一次压缩备份时更大。
最后这个尺寸变小了,第二天进一步下降,然后又上升到第一天的那个位置。
在这种情况下:
在恢复时,文件的大小增加了很多:
所以他们确实恢复了他们应该的方式,但我在这里想知道,为什么他们的大小不同,我完全可以理解压缩后但在(?)之后的变化。
为什么备份会以这种方式运行?任何已知的原因?
另外:日志中没有真正发生的事情。
使用备份压缩时,假设数据库中的数据正在更改,备份的大小会有很大差异。
每晚执行索引维护会在数据库中大量移动数据,导致数据库中分配的页面数量发生不可预测的变化。索引碎片整理并不完美,不能保证索引完全碎片整理——它只是减少碎片的一种方式。
您看到的变化量无需担心,尤其是当您看到文件大小以千字节为单位时。
好吧,如果这是我,我想我会首先排除
REBUILD
将数据合并到更少的活动页面中的可能性(因为BACKUP
只备份活动页面)我想我会将“大型”备份恢复到测试服务器并运行以下查询来识别每个对象的 used_pages。保存该信息以与“较小”备份的恢复进行比较
这可能不会告诉您任何新内容,但这是我要开始的地方。