我所听到的一切(包括来自微软)都说你永远不应该缩小数据库。然而,一家软件供应商 (Symantec) 告诉我们对DBCC SHRINKFILE
SQL 2012 数据库和与其名为 Enterprise Vault 的产品相关的日志进行处理。
我是否应该遵循赛门铁克的建议,shrink
或者微软和其他所有人的建议不要收缩?
你说的是对的。数据库不应缩小。然而,也有一些例外。
假设您将大量历史数据从数据库中移出,并且数据从 100GB 减少到 10GB。您可能希望将其减少到 10、20 或 50GB。
当您决定继续收缩时要记住的是,数据(聚集索引和非聚集索引)会(可能高度)碎片化。通过索引中的数据,我的意思是行将不再按索引列排序并不再连续存储在连续页面上。服务器将不得不跳过页面以读取连续行(=> 更多 IO)。
因此,在收缩之后,您应该对索引进行碎片整理或重建。为每个索引选择是否应根据碎片百分比重建或碎片整理。您可能已经有一个维护计划来处理这个问题,因此您只需在收缩后立即再次运行它。
如果您需要他们的支持,您可能必须让他们高兴...要求您这样做的人可能对 SQL Server 一无所知,只是遵循书面程序。在这种情况下,您可以继续进行收缩,然后更新索引。
请注意,我对 Enterprise Vault 了解不多。
归档时间: |
|
查看次数: |
676 次 |
最近记录: |