首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL Server 2005中的分区表(4):删除(合并)一个分区 (转)

2013-08-16 
SQL Server 2005中的分区表(四):删除(合并)一个分区 (转)?在前面我们介绍过如何创建和使用一个分区表,并举

SQL Server 2005中的分区表(四):删除(合并)一个分区 (转)
?在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里。具体的分区方式为:

?

?? ?第1个小表:2010-1-1以前的数据(不包含2010-1-1)。

?

?? ?第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。

?

?? ?第3个小表:2011-1-1(包含2011-1-1)到2011-12-31之间的数据。

?

?? ?第4个小表:2012-1-1(包含2012-1-1)到2012-12-31之间的数据。

?

?? ?第5个小表:2013-1-1(包含2013-1-1)之后的数据。

?

?? ?分区函数的代码如下所示:

?

CREATE?PARTITION?FUNCTION?partfunSale?(datetime)??AS?RANGE?RIGHT?FOR?VALUES?(CREATE?PARTITION?FUNCTION?partfunSale?(datetime)????

  • AS?RANGE?RIGHT?FOR?VALUES?(ALTER?PARTITION?FUNCTION?partfunSale()??
  • ????MERGE?RANGE?(--统计所有分区表中的记录总数??????
  • select?$PARTITION.partfunSale(SaleTime)?--原来的分区函数是将2010-1-1之前的数据放在第1个分区表中,将2010-1-1至2011-1-1之间的数据放在第2个分区表中??
  • --现在需要将2011-1-1之前的数据都放在第1个分区表中,也就是将第1个分区表和第2个分区表中的数据合并??
  • --修改分区函数??
  • ALTER?PARTITION?FUNCTION?partfunSale()??
  • ????MERGE?RANGE?(--统计所有分区表中的记录总数??????
  • select?$PARTITION.partfunSale(SaleTime)?
    ?

    ?

    ?

    ?

    ?? ?现在还有一个问题,就是通过修改分区函数合并数据之后,数据都存放在哪里了?在修改之前,数据分别存放在文件组Sale2009和Sale2010中,修改之后,数据放到哪里去了呢?

    ?

    ?? ?事实上,在修改分区函数之后,SQL Server也会自动修改分区方案,将处于两个物理分区中的数据放在同一个物理分区里了。可以通过查看分区方案的方式来查看数据具体的存放位置。

    ?

    ?? ?查看分区方案的方式为:在SQL Server Management Studio中,选择数据库-->存储-->分区方案,右击分区方案名,在弹出的菜单中选择“编写分区方案脚本为”-->CREATE到-->新查询编辑器窗口

    ?

    ?? ?然后在新查询编辑器窗口可以看到下图代码。

    ?


    SQL Server 2005中的分区表(4):删除(合并)一个分区 (转)
    ?

    ?

    ?? ?从上图中可以看出,分区方案将原来Sale2010文件组中的数据合并到了Sale2009文件组中。

    ?

  • 热点排行