缩小没有任何插入/更新的数据库

azi*_*zim 5 index sql-server shrink sql-server-2012

我们有一个归档过程,其中我们对当前数据库进行备份并将其恢复为 xxx 归档数据库。现在这个数据库包含以前的数据,不会有任何插入/更新/删除。

由于此数据库仅用于报告,我们正在考虑缩小数据库。但是,这会增加索引碎片。我们正在考虑以下步骤:

  1. 通过重新组织缩小数据库
  2. 重新组织索引

这会影响数据库性能吗?我们还可以考虑哪些其他选择来恢复空间?

更新:在此过程中,我们将恢复模式改为simple,备份数据库,将数据库移出Pseudo-Simple状态,然后计划收缩数据库。

Kin*_*hah 4

由于该数据库仅用于报告,因此我们正在考虑缩小数据库。

一次合理的心理咨询就可以了。磁盘空间很便宜!

Increases the index fragmentation是执行收缩操作的副作用。建议DBCC SHRINKFILE在维护时段或活动最少时减少使用。使用脚本将数据库分成块。

我们还可以考虑哪些其他选项来恢复空间?

另一种选择是编写数据库脚本,然后 bcp out 和 bcp in data

如果您采用备份/恢复路线,请确保启用备份压缩(源服务器)和即时文件初始化(源和目标服务器)。这将有助于缩短恢复时间。

在此过程中,我们将恢复模式更改为简单,备份数据库以使数据库脱离Pseudo-Simple状态,然后计划收缩数据库。

我不确定这与缩小数据库有什么关系。进行收缩和重组后,您可以进行备份。

既然您只想使用数据库进行报告,为什么不将数据库保持在只读模式呢?