SQL Server 分区表添加一个分区 .
2012-12-04 10:44
253 查看
所谓天下大事,分久必合,合久必分,对于分区表而言也一样。前面我们介绍过如何删除(合并)分区表中的一个分区,下面我们介绍一下如何为分区表添加一个分区。
为分区表添加一个分区,这种情况是时常会 发生的。比如,最初在数据库设计时,只预计了存放3年的数据,可是到了第4天怎么办?这样的话,我们就可以为分区表添加一个分区,让它把新的数据放在新的分区里。再比如,最初设计时,一个分区用于存放一年的数据,结果在使用的时候才发现,一年的数据太多,想将一个分区中的数据分为两个分区来存放。
遇到这种情况,就必须要为分区表添加一个分区了。
当然,我们也可以使用修改分区函数的方式来添加一个分区,但是在修改分区函数时,我们必须要注意另一个问题——分区方案。为什么还要注意分区方案呢?我们回过头来看一下前面是怎么定义分区函数和分区方案的,如以下代码所示:
[c-sharp] view plaincopyprint?
--添加分区函数
CREATE PARTITION FUNCTION partfunSale (datetime)
AS RANGE RIGHT FOR VALUES ('20100101','20110101','20120101','20130101')
--添加分区方案
CREATE PARTITION SCHEME partschSale
AS PARTITION partfunSale
TO ( Sale2009, Sale2010, Sale2011, Sale2012, Sale2013)
其中:
1、ALTER PARTITION SCHEME意思是修改分区方案
2、partschSale是分区方案名
3、NEXT USED意思是下一个可使用的文件组
4、[Sale2010]是文件组名
为分区方案添加了下一个可使用的文件组之后,分区方案并没有立刻使用这个文件组,此时我们可以通过查看分区方案的源代码来证实。查看方法是:在SQL Server Management Studio中,选择数据库-->存储-->分区方案,右击分区方案名,在弹出的菜单中选择“编写分区方案脚本为”-->CREATE到-->新查询编辑器窗口,如下图所示:
为分区方案添加了下一个可使用的文件组之后,我们就可以动手修改分区函数了,使用代码如下所示:
[c-sharp] view plaincopyprint?
ALTER PARTITION FUNCTION partfunSale()
SPLIT RANGE ('20100101')
以上代码的运行结果如下图所示:
从上图中可以看出,分区表中已经添加了一个分区,我们也可以再一次查看分区方案的源代码,如下图所示,这个时候分区方案也自动添加了一个文件组。
/article/2968362.html
为分区表添加一个分区,这种情况是时常会 发生的。比如,最初在数据库设计时,只预计了存放3年的数据,可是到了第4天怎么办?这样的话,我们就可以为分区表添加一个分区,让它把新的数据放在新的分区里。再比如,最初设计时,一个分区用于存放一年的数据,结果在使用的时候才发现,一年的数据太多,想将一个分区中的数据分为两个分区来存放。
遇到这种情况,就必须要为分区表添加一个分区了。
当然,我们也可以使用修改分区函数的方式来添加一个分区,但是在修改分区函数时,我们必须要注意另一个问题——分区方案。为什么还要注意分区方案呢?我们回过头来看一下前面是怎么定义分区函数和分区方案的,如以下代码所示:
[c-sharp] view plaincopyprint?
--添加分区函数
CREATE PARTITION FUNCTION partfunSale (datetime)
AS RANGE RIGHT FOR VALUES ('20100101','20110101','20120101','20130101')
--添加分区方案
CREATE PARTITION SCHEME partschSale
AS PARTITION partfunSale
TO ( Sale2009, Sale2010, Sale2011, Sale2012, Sale2013)
[c-sharp] view plaincopyprint? ALTER PARTITION SCHEME partschSale NEXT USED [Sale2010] ALTER PARTITION SCHEME partschSale NEXT USED [Sale2010]
其中:
1、ALTER PARTITION SCHEME意思是修改分区方案
2、partschSale是分区方案名
3、NEXT USED意思是下一个可使用的文件组
4、[Sale2010]是文件组名
为分区方案添加了下一个可使用的文件组之后,分区方案并没有立刻使用这个文件组,此时我们可以通过查看分区方案的源代码来证实。查看方法是:在SQL Server Management Studio中,选择数据库-->存储-->分区方案,右击分区方案名,在弹出的菜单中选择“编写分区方案脚本为”-->CREATE到-->新查询编辑器窗口,如下图所示:
为分区方案添加了下一个可使用的文件组之后,我们就可以动手修改分区函数了,使用代码如下所示:
[c-sharp] view plaincopyprint?
ALTER PARTITION FUNCTION partfunSale()
SPLIT RANGE ('20100101')
[c-sharp] view plaincopyprint? --统计所有分区表中的记录总数 select $PARTITION.partfunSale(SaleTime) as 分区编号,count(id) as 记录数 from Sale group by $PARTITION.partfunSale(SaleTime) --原来的分区函数是将2010-1-1之前的数据放在第1个分区表中,将2010-1-1至2011-1-1之间的数据放在第2个分区表中 --现在需要将2011-1-1之前的数据都放在第1个分区表中,也就是将第1个分区表和第2个分区表中的数据合并 --修改分区函数 ALTER PARTITION FUNCTION partfunSale() SPLIT RANGE ('20100101') --统计所有分区表中的记录总数 select $PARTITION.partfunSale(SaleTime) as 分区编号,count(id) as 记录数 from Sale group by $PARTITION.partfunSale(SaleTime) --统计所有分区表中的记录总数 select $PARTITION.partfunSale(SaleTime) as 分区编号,count(id) as 记录数 from Sale group by $PARTITION.partfunSale(SaleTime) --原来的分区函数是将2010-1-1之前的数据放在第1个分区表中,将2010-1-1至2011-1-1之间的数据放在第2个分区表中 --现在需要将2011-1-1之前的数据都放在第1个分区表中,也就是将第1个分区表和第2个分区表中的数据合并 --修改分区函数 ALTER PARTITION FUNCTION partfunSale() SPLIT RANGE ('20100101') --统计所有分区表中的记录总数 select $PARTITION.partfunSale(SaleTime) as 分区编号,count(id) as 记录数 from Sale group by $PARTITION.partfunSale(SaleTime)
以上代码的运行结果如下图所示:
从上图中可以看出,分区表中已经添加了一个分区,我们也可以再一次查看分区方案的源代码,如下图所示,这个时候分区方案也自动添加了一个文件组。
/article/2968362.html
相关文章推荐
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区(转)
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2008中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表:添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(五):添加一个分区
- SQL Server 2005中的分区表(四):删除(合并)一个分区(转)
- SQL Server 2005中的分区表(四):删除(合并)一个分区
- SQL Server 中的分区表(二):如何添加、查询、修改分区表中的数据
- SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据
- SQL Server 2008中的分区表(二):如何添加、查询、修改分区表中的数据
- SQL Server 2008中的分区表(二):如何添加、查询、修改分区表中的数据
- SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据