SQL 服务器中的磁盘使用摘要报告

Disk USAGE summary Report in SQL Server

我在 sql 服务器中创建了一个报告,方法是右键单击“报告”->“标准报告”->“Table 的磁盘使用情况”。在下面的快照中,您可以看到未使用的 space分别是 ~23 和 20gb。在夜间迁移期间,我们在此 table 中有很多插入操作,这可能是导致它但不确定的原因。

在这一步之后,我抓取了下面共享的数据库磁盘使用情况

数据库磁盘使用情况表明大约 8.23 未使用,这变成 555gb(数据库大小)* 0.0823 = ~45 gb 并匹配 table 未使用 space。

我想获得在这种情况下的最佳实践建议。

  1. 我应该回收这些 table 中未使用的 space 吗?
  2. 是未使用的space因为索引碎片和 常规插入、更新和删除 operation.How 这可以吗 避免?
  3. 如果回收未使用的数据库 space 最佳实践,我该如何回收它?

谢谢。

  1. 没有。要回收 space,您需要缩小数据库。它会导致碎片,因此您需要进行索引重组或重建,这并非没有成本。没有理由这样做,因为 DB 会再次增长。 DB 中有 10% 未使用 space 且有许多 DML 更改是正常的。
  2. 这是无法避免的。当您删除许多行时,space 将变为未使用状态,直到它被新的 INSERT 使用为止。碎片化也是拥有它的另一个原因。定期检查碎片并进行索引重建(碎片超过30%)/重组(碎片在10%-30%之间)。
  3. 磁盘space今天很便宜,所以如果没有特定原因要收缩数据库,请不要这样做。