一、数据文件格式

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

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

  1. sql-server 2005数据库文件恢复(检測到基于一致性的逻辑 I/O 错误)

    今天sql-server数据库突然报错: SQL Server 检測到基于一致性的逻辑 I/O 错误 校验和不对(应为: 0x7c781313,但实际为: 0x67a313c9). 在文件 'C:\P ...

  2. SqlServer修改数据库文件及日志文件存放位置

    --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...

  3. sqlserver 收缩数据库/文件

    /******************************/ 1.右键-属性-选项-简单模式 2.右键-任务-收缩-文件 3.右键-任务-收缩-数据库 /********************* ...

  4. sqlserver compact sdf, sqlite 数据库 在net中相对路径设置方法 - 摘自网络

    You should use: Data Source=|DataDirectory|\MyDb.sdf |DataDirectory| points to the App_Data folder. ...

  5. 数据库文件MDF的空间占满了,没有自动增长是怎么回事?

    前提: (1)磁盘C盘.数据文件所在盘均有空间 (2)没有对数据文件设置maxSize   (3)做过数据库服务器重启,仍没有效果 (4)但是同一个实例上的其他数据库没问题 (5)配额也查了,没问题 ...

  6. python文件写中的f.flush()方法

    f = open("input.txt", "w") f.write("aaaaaa") f.flush() #强行把缓冲区中的内容放到磁盘 ...

  7. sqlserver 对比数据库表是否完全一致的简单方法

    1. 使用数据库的工具进行处理 tablediff.exe 工具目录 C:\Program Files\Microsoft SQL Server\\COM 工具使用说明 tablediff.exe - ...

  8. Oracle数据库文件导出为CSV格式的方法

    1 安装PLSQL Developer,并连接Oracle数据库. 2 执行sql语句,将要导出的表格显示出来. select * from table名; 3 如下点击导出查询结果,选择数据格式,即 ...

  9. 3种Java从文件路径中获取文件名的方法

    package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...

随机推荐

  1. EOF及相关函数

    结论:EOF是在头文件stdio.h中预定义的一个宏,而eof(end of file)是一个与标准输入/输出流相关联的标志位.当文件指针已经指向文件尾且再次尝试读取时,eof标志会被设置.同时,某些 ...

  2. jq实现随机显示部分图片在页面上(兼容IE5)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. Radmin自动连接 c#版 带源码

    实现原理:1.利用radminview 自带命令 2.大漠绑定插件. 附图: 源码下载:http://files.cnblogs.com/eastday/Radmin%E8%87%AA%E5%8A%A ...

  4. PowerDNS简单教程(1):安装篇

    这一篇开始直接是PowerDNS教程,连续四篇.DNS的相关背景知识我就不介绍了,有需要的话看看 http://baike.baidu.com/link?url=QcthFpAb2QydMqcMJr9 ...

  5. Django 按时间来查找数据库中的数据

    问题: 按时间来查找数据表中的数据. 前提: 1. 数据表student中有一个字段类型为DateField或者DateTimeField字段, 字段名是birthday. 2. 数据表中已经有些数据 ...

  6. Windows 2008 Scheduled tasks result codes

    0 or 0x0: The operation completed successfully. 1 or 0x1: Incorrect function called or unknown funct ...

  7. 为GRIDVIEW“删除”列添加确认对话框

    如何为gridview控件里的“删除”列添加一个确认对话框?网上众说纷纭,大致见到了三种解决方案,现归纳如下:1.继承Web.IO里的button控件,为其实现一个IPostback的接口用于回调,具 ...

  8. 产线事故:删除创建mysql索引

    单表数据量:670W: 删除一个老的索引,新建一个新的索引. 事故原因: 先删除索引,应用访问量大,没有索引自然慢,数据库CPU飚到100%:新索引创建失败. 直接造成交易打烊. 日志: ------ ...

  9. win8开发

    http://msdn.microsoft.com/library/default.aspx

  10. CSS权重的比较方法

    CSS的权重如下: !important  Infinity正无穷 行间样式  1000 id     100 class|属性|唯类 10 标签|伪元素  1 通配符   0 256进制 当出现多个 ...