首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果添加另一个行数据文件,Server开始移动数据的速度有多快?

如果添加另一个行数据文件,Server开始移动数据的速度有多快?
EN

Database Administration用户
提问于 2018-05-02 18:02:04
回答 1查看 83关注 0票数 2

我们的sql服务器迁移被推迟了(自然),在新的截止日期之前,它将耗尽空间。为了保持数据库正常运行,我需要给它另一个开始写入的数据库文件。

我已经分配了空间并准备就绪,但是当我创建它时,SQL Server将立即开始将数据转移到新文件中?

问:我最好先创建两个新文件,然后运行

代码语言:javascript
运行
复制
    dbcc shrinkfile (livendb, emptyfile)

旧的那个?确保他们立即平等?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-05-02 18:07:23

Server在确定写入数据的位置时使用比例填充算法

如果您有一个文件已满90%,并将一个大小相同的新空文件添加到同一个文件组中,则新文件将获得大约90%的写入(因为它几乎为空,而现有文件则为90% )。

将新文件设置为与现有文件相同的大小(当然,如果现有驱动器空间不足,这将位于不同的驱动器上)。比例填充算法需要预先分配大量的文件空间,才能将大部分数据写入新文件。

配置好文件组后,可以通过重新生成表和索引来重新平衡文件之间的数据,确保在ON ....子句中为正在重建的每个表和索引指定正确的文件组。

顺便说一句,养成总是指定最大文件大小的习惯,并有目的地管理它。在Server代理中设置警报,以便在文件填充时得到警报。当您考虑最大文件大小时,评估一个合理的文件增长增量;该增量能够平衡增长文件所需的时间和不连续增长文件的愿望。目前,如果我认为一个文件组需要10 GB的磁盘,并且我决定将其分成两个文件,每个文件的大小为5GB,我可能会将每个文件的初始文件大小设置为3GB,将文件增长设置为250 GB或500 GB,并将每个文件的最大文件大小设置为,例如,6GB,只是为了有一点回旋余地。然后我会设置一个事件来警告当任何文件超过80%时,给你提供更多磁盘空间的时间。我的回答这里展示了一个设置警报以监视日志文件增长的示例。

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

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

复制
相关文章

相似问题

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