资源描述:
《SQlserver分区表函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1,建立分区表脚本要手工录入,表名,分区函数字段类型,分区函数的分区方式,分区方案的文件组,新建表准备要分区的字段,新建表脚本。2,输入表名查询分区函数的函数3,输入表名查询分区方案的函数4,数据表名查询分区range的脚本5,输入表名,查询分区range的表值函数6,查询数据库分区表,查询语句7,增加分区表存储过程8,合并分区表存储过程9,统计分区表各分区的数据量10,判断表是否为分区表的函数,返回(1,0)值1,建立分区表脚本(这个要输入的内容太多)usemasterexecsp_configure
2、'showadvancedoptions',1RECONFIGUREGOEXECsp_configure'xp_cmdshell',1GORECONFIGUREGOuselarry--初始化设置declare@table_namevarchar(50)declare@p_fieldvarchar(50)declare@p_rangevarchar(50)declare@p_scheme_filegroupvarchar(50)declare@table_filedvarchar(50)declare@c
3、reate_tablevarchar(200)declare@create_p_funvarchar(200)declare@create_p_schemevarchar(200)declare@create_p_tablevarchar(200)set@table_name='larry'--输入要建立分区表表名set@p_field='datetime'--输入表字段类型如:datetimeset@p_range='''2011-01-01'',''2012-01-01'''--输入分区函数的分区方
4、式如:'2011-01-01','2012-01-01'set@p_scheme_filegroup='[larry1],[larry2],[larry3]'--输入分区方案的文件组如:[larry1],[larry2],[larry3]set@table_filed='addtime'--输入表准备分区的字段set@create_table='createtablelarry([id][int]IDENTITY(1,1)NOTNULL,[addtime][datetime]NOTNULL)'--输入建
5、表内容如:createtablelarry([id][int]IDENTITY(1,1)NOTNULL,[addtime][datetime]NOTNULL)set@create_p_fun='CREATEPARTITIONFUNCTION'+@table_name+'_'+@p_field+'('+@p_field+')ASRANGERIGHTFORVALUES('+@p_range+')'set@create_p_scheme='CREATEPARTITIONSCHEME'+@table_name+
6、'_'+@p_field+'_schemeASPARTITION'+@table_name+'_'+@p_field+'to('+@p_scheme_filegroup+')'set@create_p_table=@create_table+'on'+@table_name+'_'+@p_field+'_scheme('+@table_filed+')'print@create_p_funprint@create_p_schemeprint@create_p_tableexec(@create_p_fu
7、n)exec(@create_p_scheme)exec(@create_p_table)execsp_configure'showadvancedoptions',0RECONFIGUREGOEXECsp_configure'xp_cmdshell',0GORECONFIGUREGO2,输入表名查询分区函数的函数uselarryifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[f_get_partition_funname]')a
8、ndxtypein(N'FN',N'IF',N'TF'))dropfunction[dbo].[f_get_partition_funname]GOcreatefunctionf_get_partition_funname(@tablenamesysname)returnsnvarchar(260)asbegindeclare@revarchar(50)set@re=(SELECTPartitionFunction=PF.nameFROMs