SQL Server怎么添加一个分区

介绍

本篇内容介绍了“SQL Server怎么添加一个分区”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

——添加分区函数,,

CREATE  PARTITION  FUNCTION  partfunSale  (datetime),,,,

AS  RANGE  RIGHT  FOR  VALUES  (& # 39; 20100101 & # 39; & # 39; 20110101 & # 39;, & # 39; 20120101 & # 39;, & # 39; 20130101 & # 39;),,,,

——添加分区方案,,

CREATE  PARTITION  SCHEME  partschSale ,,,

AS  PARTITION  partfunSale ,,,

用(Sale2009才能,,,Sale2010,,, Sale2011,,, Sale2012,,, Sale2013),,,,

,,,从以上代码中可以看的出,分区函数定义了用于分区的数据边界,而分区函数指定了符合分区边界的数据存放在文件组,因此,分区方案中指定的文件组个数应该是比分区函数中指定的边界数大1的。如上例中,分区函数中指定的边界数为4,那么在分区方案中指定的文件组数就为5 .

,,,如果,我们将分区函数中的边界数增加一个,那么分区方案中的文件组数也就要相应地增加一个,因此,我们不能简简单单地通过修改分区函数的方式来为分区表添加一个分区。

,,,那么,我们应该怎么做呢?是不是要先为分区方案添加一个文件组吗?

,,,这种想法是没有错的,想要为分区表添加一个分区,可以通过以下两个步骤来实现:

,,,1,为分区方案指定一个可以使用的文件组。

,,,2,修改分区函数。

,,,在为分区方案指定一个可用的文件组时,该分区方案并没有立刻使用这个文件组,只是将文件组先备用着,等修改了分区函数之后分区方案才会使用这个文件组(不要忘记了,如果分区函数没有变,分区方案中的文件组个数就不能变)。

,,,为分区方案指定一个可用的文件组的代码如下所示:

ALTER  PARTITION  SCHEME  partschSale ,

, NEXT  USED  [Sale2010],,

,,,其中:

,,,1,改变分区方案意思是修改分区方案

,,,2,partschSale是分区方案名

,,,3,下一个使用意思是下一个可使用的文件组

,,,4,Sale2010是文件组名

,,,为分区方案添加了下一个可使用的文件组之后,分区方案并没有立刻使用这个文件组,此时我们可以通过查看分区方案的源代码来证实。查看方法是:在SQL Server Management Studio中,选择数据库——在存储,在分区方案,右击分区方案名,在弹出的菜单中选择“编写分区方案脚本为”——在创建到——在新查询编辑器窗口,如下图所示:

 SQL Server怎么添加一个分区

,,,为分区方案添加了下一个可使用的文件组之后,我们就可以动手修改分区函数了,使用代码如下所示:

ALTER  PARTITION  FUNCTION  partfunSale (),,

,,,, SPLIT  RANGE  (& # 39; 20100101 & # 39;),,

,,,其中:

,,,1,改变配分函数意思是修改分区函数

,,,2,partfunSale()为分区函数名

,,,3,分裂范围意思是分割界限

,,,4,& # 39;20100101 & # 39;是用于分割的界限值

,,,当然,我们在修改分区函数前后都可以统计一下各物理分区的数据记录情况,如以下代码所示:

——统计所有分区表中的记录总数,,,,,,

select 美元PARTITION.partfunSale (SaleTime), as 分区编号,计数(id), as 记录数,得到Sale  group  by 美元PARTITION.partfunSale (SaleTime),,

——原来的分区函数是将2010-1-1之前的数据放在第1个分区表中,将2010-1-1至2010-1-1之间的数据放在第2个分区表中,,

——现在需要将2011-1-1之前的数据都放在第1个分区表中,也就是将第1个分区表和第2个分区表中的数据合并,,

——修改分区函数,,

ALTER  PARTITION  FUNCTION  partfunSale (),,

,,,, SPLIT  RANGE  (& # 39; 20100101 & # 39;),,

——统计所有分区表中的记录总数,,,,,,

select 美元PARTITION.partfunSale (SaleTime), as 分区编号,计数(id), as 记录数,得到Sale  group  by 美元PARTITION.partfunSale (SaleTime),,

,,,以上代码的运行结果如下图所示:

 SQL Server怎么添加一个分区

,,,从上图中可以看的出,分区表中已经添加了一个分区,我们也可以再一次查看分区方案的源代码,如下图所示,这个时候分区方案也自动添加了一个文件组。

SQL Server怎么添加一个分区