【发布时间】:2014-07-07 09:41:52
【问题描述】:
我是一名开发人员,并且以某种方式设法让自己参与其中。 数据库很多,每个数据库只有一个mdf,到现在还没有ndf。
现在这些数据库正在增长,我必须创建一个作业来找出哪个 MDf 文件正在接近或已经超过 100 gig 的大小,并且 然后我必须将 MDF 拆分为更多的 ndf 文件以分担负载并提高性能。
建议我在需要时在同一个主文件组中创建新的 ndf 文件(mdf 超出限制),然后收缩 mdf 以强制将数据移动到新的 ndf。然后重建索引,任务就完成了。
经过一番研究,我确信我可以通过将新文件添加到新文件组并将索引从大表移动到新的 ndf 文件来做得更好。 没有。数据库中的大表很少,大约 80% 的数据驻留在这些表中。
现在的问题是,有很多数据库,它必须通过在后台运行的作业来完成。它应该适用于所有数据库。
您能否建议,我应该如何实现这一目标? 这意味着一旦第一次完成拆分并创建新的文件组和 ndf 并且索引移动到ndf文件。下次mdf接近极限时应该怎么办?
或者这种方法有什么缺点,我应该坚持在同一个文件组中创建一个新的 ndf 并在达到限制时清空 mdf?
如果有人能建议我如何动态地做到这一点,那就太好了? 非常感谢您!
【问题讨论】:
标签: sql sql-server