zoukankan      html  css  js  c++  java
  • 【SQLSERVER】从数据库文件mdf中拆分ndf的方法和利弊

    一、数据文件格式

         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文件,增加了数据库管理上的压力。

           

              

  • 相关阅读:
    Delphi 枚举所有进程
    从零开始学JAVA(07)-使用SpringMVC4写helloworld
    Delphi下OpenGL2d绘图(06)-画图(多窗口、多视图、多个DC)
    Delphi下OpenGL2d绘图(05)-画图片Bmp
    Delphi下OpenGL2d绘图(04)-画四边形
    Windows下重置MySQL密码【MYSQL】
    HTML5 WEB Storage
    相关转载
    基本的查询流【MSSQL】
    查询编辑器便捷特性【MSSQL】
  • 原文地址:https://www.cnblogs.com/TurboWay/p/5960587.html
Copyright © 2011-2022 走看看