我正在尝试对数据库表进行分区,我已经正确创建了文件组(我认为),在此过程中我不得不添加几个额外的文件组,因为与文件组相比,我在分区数量上存在错误(我有麻烦解决这个问题),我创建了一个分区函数,没有问题,但是当我尝试创建分区方案时,出现以下错误:
消息7707,第16级,状态1,第2行关联的分区功能'PARTFN_INV_LINE_FACT'产生更多分区比没有文件组计划中提到的'PARTSCH_INV_LINE_FACT'。
我错过了一步吗?
我是新手,这样做是为了将来的学习,所以,如果我没有提供足够的信息,请原谅。我将下面所做的所有工作都包括在内。
必须在方案中明确输入所有文件组。
没有看到代码,我不能百分百确定,但是我怀疑您在尝试将新的分区功能与新的分区方案重用时遇到了我遇到的确切问题。我的分区函数定义了16个范围值,但是我的分区方案仅定义了8个分区,导致了您引用的相同错误。
对于我来说,解决方案是简单地不尝试重用现有的分区函数,而是创建一个新的分区函数和分区方案,并使用相同数量的范围值和分区,如下所示:
创建分区功能partitionFunctionName(datetime)如值的左移('20130228 23:59:59.997','20130331 23:59:59.997','20130430 23:59:59.997','20130531 23:59:59.997','20130630 23:59:59.997','20130731 23:59:59.997','20130831 23:59:59.997','20130930 23:59:59.997')转到
创建分区计划[partitionSchemeName]如PARTITION partitionFunctionName TO([PartitioningFileGroupName1],[PartitioningFileGroupName2],[PartitioningFileGroupName3],[PartitioningFileGroupName4],[PartitioningFileGroupName5],[PartitioningFileGroupName6],[PartitioningFileGroupName7],[PartitioningFileGroupName8],[主])
GO
我知道这是一个老问题,但这也许可以帮助某人避免同一问题!
可能您忘记了在分区方案中包括[PRIMARY]文件组。
必须在方案中明确输入所有文件组。
标准数量必须缺少文件组,分区功能的数量。
您必须匹配文件组。
选择名称AS AvailableFilegroups从sys.filegroupsWHERE类型='FG'
查询结果应等于方案。
您是否提到了系统中可用的文件组,您可以从查询中获取文件组列表
选择名称AS AvailableFilegroups从sys.filegroupsWHERE类型='FG'