码120行左右
本系列,几乎都是代码,记得当时写的时候用的是微软的官方实例数据库AdventureWorks_Data.mdf、AdventureWorks_Log.ldf来运行的。
下载链接:链接: https://pan.baidu.com/s/1pMdLz6N 密码: xvhu
或者回复“AdventureWorks”来获取链接。
--创建文件组create database alex2on primary(=,=,=,=,=),Filegroup old(=,=,=,=,=),Filegroup first(=,=,=,=,=),Filegroup second(=,=,=,=,=),Filegroup third(=,=,=,=,=%),Filegroup fourth(=,=,=,=,=%)log on(=,=,=,=,=)go--使用数据库use alex2go--创建分区函数--按照一定的条件划分数据--range left (--,--] (--,--] 分界点的值归左边--range right (--,--) [--,--) 分界点的值归右边create partition (datetime)as range right values(,,,) --创建分区方案--将分区函数区分的范围和文件组对应起来create partition scheme RateChngDate_Schemeas partition to (Old,First,Second,Third,Fourth)--创建分区表create table EmpPayHistPart( EmployeeID int, RateChangeDate datetime, Rate money, PayFrequency tinyint, ModifiedDate datetime)on RateChngDate_Scheme(RateChangeDate)--添加数据insert into EmpPayHistPart values(,,,,)insert into EmpPayHistPart values(,,,,)insert into EmpPayHistPart values(,,,,)insert into EmpPayHistPart values(,,,,)insert into EmpPayHistPart values(,,,,)--检索分区select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart where $partition.RateChngDate(RateChangeDate)=select * from EmpPayHistPart---------------分隔分区--修改数据库添加文件组alter database alex2add filegroup Fifth--修改数据库向文件组中添加文件alter database alex2add (=,=,=,=,=)to filegroup Fifthgo--修改分区方案 让下一个分区使用Fifth文件组alter partition scheme RateChngDate_Schemenext used Fifth--修改分区函数 加入一个临界点2002--alter partition ()split range ()go---------------------合并分区--将2008--之后的数据和前一个分区数据合并--原来是2004--到2008--,--到以后--现在是2004--到以后alter partition ()merge range()-------------------创建表保存分区--修改数据库添加文件组Sixthalter database alex2add filegroup Sixth--修改数据库添加文件到文件组Sixthalter database alex2add (=,=,=,=,=)to filegroup Sixthgo--修改分区方案让下一个分区对应文件组Sixthalter partition scheme RateChngDate_Schemenext used Sixth--分隔数据分区alter partition ()split range ()go--创建表来保存分区数据create table New_EmpPayHistPart( EmployeeID int, RateChangeDate datetime, Rate money, PayFrequency tinyint, ModifiedDate datetime)on Sixth--将分区6中的数据移动到新表中alter table EmpPayHistPartpartition to New_EmpPayHistPart