我知道收缩是魔鬼:它会颠倒页面顺序并导致皮肤癌、数据碎片化和全球变暖。名单还在继续……话虽如此,假设我有一个 100 GB 的数据库,我删除了 50 GB 的数据——不是在一个表上,而是在数据库范围内对旧数据进行一般修剪,覆盖 90% 的数据表——这是否构成缩小数据库的适当用例?
如果没有,从数据库中删除如此高比例的数据后,应采取哪些适当的步骤来清理房屋?我可以想到两个:重建索引和更新统计。还有什么?
这个问题在这里以各种形式提出,但问题归结为:
我知道缩小数据库是有风险的。在这种情况下,我已经删除了这么多数据,我再也不会使用它了。
我已经问过一些关于自动增长和收缩的问题。但我对此有一些疑问。
我有一个每月增长约 300 MB 的数据库。那么最好将 Autogrowth 设置为 300 MB 吗?现在设置了 10 MB。
我有很多小型数据库,它们确实有大约 50 MB 的数据。但它的物理大小约为 900 MB。(所以 850 是可用空间)。我没有缩小这个数据库。好像我在添加数据时再次缩小它会发生自动增长。但是向这个数据库添加数据是很少见的。所以我认为未来一年它不会增长超过 200MB。
那么我应该缩小数据库吗?如果我保持原样?这会导致任何性能问题吗?或者在数据库中有更多的可用空间(超过 90%)会导致任何问题?我认为大多数人认为大的物理尺寸会导致性能问题。那么这是真的还是假的?
SQL Server 2008 R2 Express 数据库大小限制为 10 GB。那么它是 mdf 和 ldf 文件的物理大小吗?因为如果我应该在任何时候缩小数据库,我需要考虑这一点。