我们 SQL Server 数据库中的两个表相当于 500M 行和 350GB 数据。磁盘空间是我们保留备份的问题,执行备份的时间也是如此。我们计划截断这两个表。
我知道要回收磁盘空间,我们需要在截断后缩小数据库,然后重建索引以修复碎片索引。但由于我们不确定重建需要多长时间(我们现在正在 Azure 中启动测试服务器 VM 进行测试),与此同时我们正在寻找增量收益。在刚刚截断之后(在收缩和重建之前),备份时间和生成的备份文件大小(在 7z 压缩之后)是否会因此显着减少?
我们 SQL Server 数据库中的两个表相当于 500M 行和 350GB 数据。磁盘空间是我们保留备份的问题,执行备份的时间也是如此。我们计划截断这两个表。
我知道要回收磁盘空间,我们需要在截断后缩小数据库,然后重建索引以修复碎片索引。但由于我们不确定重建需要多长时间(我们现在正在 Azure 中启动测试服务器 VM 进行测试),与此同时我们正在寻找增量收益。在刚刚截断之后(在收缩和重建之前),备份时间和生成的备份文件大小(在 7z 压缩之后)是否会因此显着减少?
虽然我已经有一段时间没有处理没有被 SQL 本身压缩的 SQL Server 备份,但 SQL 备份的是你的数据,而不是你的可用空间。
如此处所述
TRUNCATE
释放数据页。如果您的数据占用的空间从 700GB 下降到 350GB,那么备份的大小也应该是原来的一半左右,而且进行备份的时间也应该同样减少。