首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该缩小我的数据库吗?

我应该缩小我的数据库吗?
EN

Database Administration用户
提问于 2014-07-24 20:38:16
回答 3查看 2.4K关注 0票数 2

我有一个1.2TbSQLServer 2008 R2数据库,它超过50%是空的,因为我将许多功能迁移到了PostgreSql。这个数据库仍然在使用中,而且还在不断增长,但我不认为它会在未来3-5年内使用所有的1.2Tb。

以目前的增长速度,我们在超过14年的时间内不会耗尽1.2Tb。更重要的是,每当需要进行重大更改时,我们都会继续将功能迁移到PostgreSql。在一个非常动态的敏捷环境中,这意味着我们经常将数据从这个Server数据库中迁移出去。因此,这个数据库将来可能会增长得更慢:它最终将被逐步淘汰。

因此,我们宁愿为其他数据库使用这个未使用的空空间,而且这种潮湿可能永远不需要用于增长表/索引。

我记得经验法则是“永远不要缩小数据库”。在这种情况下适用吗?目前服务器正在运行2008年R2 EE,但我们计划很快升级到2012年。我认为,因为这种收缩功能存在,所以应该有有效的用例,在这些用例中收缩是有意义的。否则,它为什么会存在?

周末我们能负担得起几个小时的休息时间。

编辑:正如我前面所说,我们解决的问题是:“我们宁愿将这个未使用的空空间用于其他数据库”。此外,我们更喜欢不需要花费太多时间学习我们正在迁移出去的技术的解决方案。

EN

回答 3

Database Administration用户

回答已采纳

发布于 2014-07-24 21:08:35

我记得经验法则是“永远不要缩小数据库”。在这种情况下适用吗?

是。不要碰那个收缩按钮--这是一个通用的规则,也是许多著名的Server - 保罗·兰德尔布伦特·奥扎尔迈克·沃尔什盖尔·肖和更多的非常好的建议。

这个数据库仍然在使用中,而且还在不断增长,但我不认为它会在未来3-5年内使用所有的1.2Tb。

你必须有1000%的把握,你的假设,它的增长,但不会增长到这个规模在你建议的3-5年(这也是一个2年的差异:-)。

still somewhat growing ->你真的需要知道它的增长速度。您是否通过收集整个业务周期的数据增长来进行数据库增长跟踪?

如今,数据是企业赖以生存的源泉,而数据库也注定要发展壮大。

想想看--从缩小数据库中获得的磁盘空间,您打算做什么呢?

专注于更重要的优化领域,就像阿隆·伯特兰建议的那样

即使你决定收缩,我也建议你

  • 完成reorg/重新构建,并更新reorg收缩操作后的统计数据
  • 对所有索引进行完整备份以确保安全。
  • 调整您的自动增长设置,以不允许自动增长事件更频繁地开始。

编辑

在OP的评论之后--

那就去吧..。因为您正在或将要将数据从Server转移到PostgreSql。但是,正如我在回答中提到的,做一次post步骤--一旦你做了收缩操作。此外,使用DBCC SHRINKFILE可以更多地控制您正在收缩的内容,而不是DBCC SHRINKDATABASE

票数 3
EN

Database Administration用户

发布于 2014-07-24 21:47:27

规矩是不要退缩。规则是,当你需要再次成长时,不要退缩。

继续缩小以收回空间。处理由此产生的碎裂。请注意,收缩会导致极高的磁盘负载。这些几乎是由收缩引起的唯一问题。

或者,将所有索引重新构建为一个新的文件组,并删除/截断旧的索引。这可能要快得多,并将整理/压缩进程中的所有索引。注意,在文件组之间移动blob数据要困难得多,所以这可能并不适用于所有索引/表。只是个主意。

票数 2
EN

Database Administration用户

发布于 2014-07-24 22:26:47

当通过management收缩时,收缩操作的一件重要事情是选择“释放未使用的空间”,这是这样做的

“将文件中的任何未使用的空间释放到操作系统,并将文件缩小到最后分配的范围,从而在不移动任何数据的情况下减小文件大小。不会尝试将行重新定位到未分配的页。”

您应该尝试此选项,因为没有页面移动,碎片的可能性非常小,如果数据库中有空闲空间,则可以使用此选项。

很好,你意识到收缩的缺点--我相信保罗、布伦特和盖尔的建议更多的是在教育用户注意收缩的缺点,而不是阻止它们。如果你想要回收空间,你必须在某个时刻收缩,而收缩会导致分裂,所以你必须处理它。它不像没有人使用数据库收缩,人们使用,但不推荐在公共论坛,因为他们不知道他们的周围和影响,它会造成。

我想说的是,如果你知道数据库的增长,并且知道在未来的一年空间不会被使用,那么谨慎地收缩它可能是一个小块,检查出选项,看看它是否有效。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/72313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档