您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MSSQL

【SQLSERVER】从数据库文件mdf中拆分ndf的方法和利弊

时间:03-24来源:作者:点击数:

一、数据文件格式

SQLSERVER中,数据库的文件后缀有3种:mdf、ndf、ldf。

如下图所示,DW_TEST.mdf、DW_TEST_HIS.ndf、DW_TEST.ldf 属于同一个数据库TEST。

其中 mdf 是主数据文件,每个数据库有且只能有一个;ndf 是次要数据文件 ;ldf 是日志文件。

二、如何从主数据文件mdf中拆分出ndf

1,添加新文件组,创建ndf文件

1.1,右键数据库 → 属性→ 文件→ 添加文件

1.2,这边新建一个HIS的文件组,对应的ndf命名为 DW_TEST_HIS。

2,这个时候,ndf文件已经生成,接下来就是根据需要把数据从DW_TEST.mdf 中移到 DW_TEST.ndf.

迁移数据到ndf有两种方法:

一种是通过重新建表,把表的归属文件组改为ndf对应的文件组,这边是HIS,然后把旧表的数据写入新表。

另一种方式是通过,重建聚集索引的方式,将表的归属文件组改为 HIS,不再赘述。

三、拆分ndf的结果分析和利弊

建了一个测试数据库DW_TEST2作为拆分对象,拆分的结果作为DW_TEST。再往两个库写入一样的数据,从下图的结果可以看出 DW_TEST2.mdf(8.37G) 拆分成了 DW_TEST.mdf(4.06G) 和 DW_TEST_HIS.ndf(4.3G),算上日志文件,拆分前后,数据库总大小不变。

优点:分出了一个ndf文件,可以放在别的硬盘,在存储上起到一定程度的减压,和提高I/0并发的优化作用,可以作为一种数据库的优化策略;

缺点:多出一个ndf文件,增加了数据库管理上的压力。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门