截断大表后数据库备份时间和大小会减少吗

cri*_*vin 3 sql-server-2005 sql-server backup

我们的 SQL Server 数据库中的两个表相当于 500M 行和 350GB 的数据。磁盘空间是我们保留备份和执行备份的时间的问题。我们计划截断这两个表。

我知道要回收磁盘空间,我们需要在截断后缩小数据库,然后进行索引重建以修复碎片索引。但由于我们不确定重建需要多长时间(我们现在正在 Azure 中启动一个测试服务器 VM 进行测试),同时我们正在寻找增量收益。在截断之后(在收缩和重建之前),备份时间和生成的备份文件大小(7z 压缩之后)是否会因此而显着减少?

RDF*_*ozz 9

虽然我已经有一段时间没有处理未由 SQL 本身压缩的 SQL Server 备份,但 SQL 备份的是您的数据,而不是您的可用空间。

如前所述这里

完整备份中包含的数据不一定是所有数据文件的全部内容。备份将只包含数据文件中分配的页面。

TRUNCATE释放数据页。如果您的数据占用的空间从 700GB 下降到 350GB,那么备份的大小也应该是原来的一半左右,而且进行备份的时间确实应该同样减少。