背景知识:

分区表、可以把表中的数据按范围保存到不同的文件组中。

举个例子吧:

2014年以前的数据保存到文件组A

2014~2015的数据保存到文件组B

2015年以后的数据保存到文件组C

好处:

1、提高IO性能 --- 文件组中的文件可以位于不同的磁盘,多磁盘协同工作,提升性能。

2、方便管理 --- 备份方面为管理提供了更多的选择,数据归档方便。

前期准备:添加文件组与文件

alter database Studio
             add filegroup FG1;
             go

alter database Studio
             add filegroup FG2;
             go

alter database Studio
             add filegroup FG3;
             go

alter database Studio
             add file(name = FG1_File,filename='E:\DB\FG1_File.ndf');
             go

alter database Studio
             add file(name = FG2_File,filename='E:\DB\FG2_File.ndf');
             go

alter database Studio
             add file(name = FG3_File,filename='E:\DB\FG3_File.ndf');
             go

操作 1、

创建分区表,分如下几步

第一步 、

创建分区函数:

它用来把表从逻辑上分成不同的几份   如: 0~2014,2014~2015,2015~....

create partition function pf_for_myTable(datetime)
                           as range left
                           for values('2014-01-01','2015-01-01');
                           go  -- 把表从逻辑上分成三份。或是说三个不同的逻辑分区

第二步:

创建分区方案、它主要是把表的逻辑分区与数据库中的文件组绑定。比如说:第一个分区保存到FG1,第二个分区保存到FG2,第三个分区保存到FG3

create partition scheme ps_for_myTable
         as partition pf_for_myTable
         to (FG1,FG2,FG3);
         go

第三步:

建表

create table myTable2(DT datetime, DataValue nvarchar(30))
         on ps_for_myTable(DT);

操作 2、

查看指定数据所在的分区

$partition.partition_function_name(value);

select $partition.pf_for_myTable('2014-10-04');

操作 3、

为表添加新的分区。

第一步:修改分区方案

指定下一个分区使用的文件组。

alter partition scheme ps_for_myTable
                  next used [primary];
                  go

第二步:修改分区函数

alter partition function pf_for_myTable() -- 看到没有这个没有加datatime 加了就错了
                   split range ('2016-01-01');
                   go

操作 4、

移除分区

第一步:

alter partition function pf_for_myTable()
                   merge range('2016-01-01');
                   go

操作 5、

把分区移动到不同的表

前期准备工作

create table myTableHistory(DT datetime, DataValue nvarchar(30));
                                   go -- 两个表的定义要完全一样,分不分区的没有关系

第一步:

移动

alter table myTable2 switch partition 1

to myTableHistory;
                 go

                

它的基本语法如下:

                 alter table source_table_name switch  [partition partition_number]

                 to [schema.] target_table_name [partition partition_number]

总结:

      

       

SQL Server 分区表的创建方法与管理的更多相关文章

  1. SQL Server ->> 分区表上创建唯一分区索引

    今天在读<Oracle高级SQL编程>这本书的时候,在关于Oracle的全局索引的章节里面有一段讲到如果对一张分区表创建一条唯一索引,而索引本身也是分区的,那就必须把分区列也加入到索引列表 ...

  2. SQL Server COM 组件创建实例失败

    SQL Server COM 组件创建实例失败   SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA4759 ...

  3. SQL Server与Oracle对比学习:权限管理(二) 一些有趣的比喻

    http://blog.csdn.net/weiwenhp/article/details/8094739 目录(?)[-] SQL Server权限管理 login 与user的区别 角色role ...

  4. 删除SQL Server大容量日志的方法(转)

    删除SQL Server大容量日志的方法 亲自实践的方法 1.分享数据库,如果提示被其他连接占用,不能分离,刚勾上drop connections 2.复制下所有文件,一定要备份好,以防自己操作失误 ...

  5. 利用Microsoft Sql Server Management studio 创建数据库的示例

    利用Microsoft Sql Server Management studio 创建数据库的示例方法如下:   一.打开安装好的Microsoft Sql Server Management stu ...

  6. 如何实现SQL Server临时表的创建?

    以下的文章主要是对SQL Server临时表的创建的实际操作步骤,以及在实际操作中我们要用到的实际应用代码的介绍,我在一个信誉度很好的网站找到一个关于其相关内容今天拿出来供大家分享. 创建临时表 方法 ...

  7. [转]SQL SERVER数据库还原的方法

    SQL SERVER数据库还原的方法 在SQL SERVER 2005下还原数据库 1.新建数据库A,右键还原数据库,此时目标数据库为A,选择备份 文件B_db_201311040200.BAK,还原 ...

  8. Update导致SQL Server死锁的典型方法(转载)

    此文为转载文章,描述的很好,没有验证过. 最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题.这个死锁看上去难以理解.而分析过程中,又使用了很多分析SQL Server死锁的典型方法.记录下来整个 ...

  9. 使用SQL Server Management Studio 创建作业备份数据库

    在项目中,经常需要备份数据库,如果能做到只需点个按钮(“开始备份数据库”按钮),然后什么都不管,数据库就自动备份好了,或者服务器上的数据库隔一段时间自动备份一次,那该多好啊. Sql server 的 ...

随机推荐

  1. Sad Angel (悲伤的天使)-Игорь Крутой

    悲伤的天使(neyanbhbin) -经典作曲Sad Angel( Печальныйангел)生活是一种连续的影响,每个小人物都有小人物的伟大故事.从开头的情侣,到美丽的丝带,从清洁老伯到卖气球的 ...

  2. 雅思创始人Keith Taylor谈英语学习

    雅思创始人Keith Taylor谈英语学习 “要学的是信息,而不是语言” 我们要学习一个国家的语言就得知道这个国家的方方面面.要学习英语就得了解英美国家的社会.经济.人文.历史等各方面的信息. 大家 ...

  3. 论JS的重要性

    最近有学习了JavaScript,学习的过程中发现js对于前端工程师来说可以是最终要的一部分. 个人认为js就是一门语言,如果把前端比作一个人的身体,那么html就是一个人的结构,css就是这个人长的 ...

  4. wordpress教程之如何修改与制作wordpress的作者页面

    一.如何使用与创建作者页面 一般情况下,多数主题下都有author.php这个文件,这既是作者展示页面.如果发现自己正在使用的主题中没有author.php这个文件的话, Wordpress 会默认寻 ...

  5. Socket 编程示例(二)

    利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端.其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后 ...

  6. Asp.net web服务处理程序(第六篇)

    四.Web服务处理程序 对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述.在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访 ...

  7. jQuery的入门与简介《思维导图》

    <初学者请各位高手指点指点> jQuery是继Prototype之后又一个优秀的JavaScript库,在JavaScript基础上我知道了jQuery拥有强大的选择器, 出色的DOM操作 ...

  8. CentOS安装错误:no default or ui configuration

    靠,以后再也不用浏览器自带的下载工具下载镜像文件了,原来是下载的不完整,但是显示完全下载完毕了,真特么误导人.文件的checksum不对. references: https://www.centos ...

  9. 百度地图JavaScript API V1.5初级开发工具类

    /** * 百度地图使用工具类-v1.5 * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email boo ...

  10. Python 自动化脚本学习(一)

    Python 基础 命令行:在http://www.python.org安装python3,Mac下输入python3进入命令行 整数,浮点数,字符串类型:-1,0.1,'game' 字符串连接和复制 ...