【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文件,增加了数据库管理上的压力。
【SQLSERVER】从数据库文件mdf中拆分ndf的方法和利弊的更多相关文章
- sql-server 2005数据库文件恢复(检測到基于一致性的逻辑 I/O 错误)
今天sql-server数据库突然报错: SQL Server 检測到基于一致性的逻辑 I/O 错误 校验和不对(应为: 0x7c781313,但实际为: 0x67a313c9). 在文件 'C:\P ...
- SqlServer修改数据库文件及日志文件存放位置
--查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...
- sqlserver 收缩数据库/文件
/******************************/ 1.右键-属性-选项-简单模式 2.右键-任务-收缩-文件 3.右键-任务-收缩-数据库 /********************* ...
- sqlserver compact sdf, sqlite 数据库 在net中相对路径设置方法 - 摘自网络
You should use: Data Source=|DataDirectory|\MyDb.sdf |DataDirectory| points to the App_Data folder. ...
- 数据库文件MDF的空间占满了,没有自动增长是怎么回事?
前提: (1)磁盘C盘.数据文件所在盘均有空间 (2)没有对数据文件设置maxSize (3)做过数据库服务器重启,仍没有效果 (4)但是同一个实例上的其他数据库没问题 (5)配额也查了,没问题 ...
- python文件写中的f.flush()方法
f = open("input.txt", "w") f.write("aaaaaa") f.flush() #强行把缓冲区中的内容放到磁盘 ...
- sqlserver 对比数据库表是否完全一致的简单方法
1. 使用数据库的工具进行处理 tablediff.exe 工具目录 C:\Program Files\Microsoft SQL Server\\COM 工具使用说明 tablediff.exe - ...
- Oracle数据库文件导出为CSV格式的方法
1 安装PLSQL Developer,并连接Oracle数据库. 2 执行sql语句,将要导出的表格显示出来. select * from table名; 3 如下点击导出查询结果,选择数据格式,即 ...
- 3种Java从文件路径中获取文件名的方法
package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...
随机推荐
- SecurityError: The operation is insecure.(js不安全操作)
今天突然就遇上了这样的情况,本来在出错的这一行的后面,还有要执行的语句,都没有办法执行,真实坑爹,而最要命的事情,这样的情况,在我的chrome浏览器里没有,但是在firefox里就会出现. The ...
- bzoj3106 [cqoi2013]棋盘游戏
Description 一个n*n(n>=2)棋盘上有黑白棋子各一枚.游戏者A和B轮流移动棋子,A先走. l A的移动规则:只能移动白棋子.可以往上下左右四个方向之一移动一格. ...
- TensorFlow基础(二)实现神经网络
(1)前向传播算法 神经网络的前向传播算法主要构成部分: 1.神经网络的输入: 2.神经网络的连接结构:神经网络是由神经元(节点)构成的 3.每个神经元中的参数. (2)TensorFlow随机数生成 ...
- SpringBoot初始教程之Servlet、Filter、Listener配置(七)
1.介绍 通过之前的文章来看,SpringBoot涵盖了很多配置,但是往往一些配置是采用原生的Servlet进行的,但是在SpringBoot中不需要配置web.xml的 因为有可能打包之后是一个ja ...
- 使用Redis+java(模仿数据库)实现对象存取和读取
实现前要引入Redis架包 maven项目 <dependency> <groupId>redis.clients</groupId> <artifactId ...
- Linux环境进程间通信: 共享内存
Linux环境进程间通信: 共享内存 第一部分 共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式.两个不同进程A.B共享内存的意思是,同一块物理内存被映射到进程A.B各自的进程地址空间.进 ...
- 使用jenkins配置.net mvc5网站自动构建全过程记录
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了.最终可以实现的一个效果是,svn提交代码,服务器端自动编译并发布. 所使用的版本:windows server 200 ...
- SignalR 教程二 服务端广播
转帖官方教程:Tutorial: Server Broadcast with SignalR 2 http://www.asp.net/signalr/overview/getting-started ...
- REST解惑
本文是「架构风格:你真的懂REST吗?」的补充! REST全称是Representational State Transfer,目前普遍接受的中文翻译为「表述性状态转移」! 即使翻译过来了,你依然有一 ...
- window下安装composer
1.什么是composer 一个智能的下载工具.比如说我的项目要安装yii框架,而yii是依赖于其他东西的,仅仅安装yii是不够的,这样会导致我的项目也不能正常运行:怎么办呢,我们可以一个一个手动的将 ...