使用比文件组更多的分区来分区表错误

ice*_*ain 4 sql-server sql-server-2008-r2

我正在尝试对数据库表进行分区,我已经正确创建了文件组(我认为),我不得不添加一些额外的文件组,因为我遇到了与文件组相比的分区数量的错误(我很难获得我的头围绕这个),我已经创建了一个没有问题的分区功能,但是当我尝试创建分区方案时,我收到以下错误:

消息7707,级别16,状态1,行2相关分区函数'PARTFN_INV_LINE_FACT'生成的分区多于方案'PARTSCH_INV_LINE_FACT'中提到的文件组.

我错过了一步吗?

我是新手并且这样做是为了学习未来的任务,所以如果我没有提供足够的信息,请原谅.我已经包含了我在下面所做的一切.

必须在方案中明确输入所有文件组.

DCa*_*ugs 7

没有看到代码,我不能100%肯定,但我怀疑你遇到了我尝试重用当前分区函数与新分区方案时所做的确切问题.我的分区函数定义了16个范围值,但我的分区方案只定义了8个分区,导致您引用的错误相同.

在我的例子中,解决方案是简单地不尝试重用现有的分区函数,而是创建一个新的分区函数和分区方案,具有相同数量的范围值和分区,如下所示:

CREATE PARTITION FUNCTION partitionFunctionName(datetime)AS RANGE LEFT FOR VALUES('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'
)GO

CREATE PARTITION SCHEME [partitionSchemeName] AS PARTITION partitionFunctionName TO([PartitioningFileGroupName1],[PartitioningFileGroupName2],[PartitioningFileGroupName3],[PartitioningFileGroupName4],[PartitioningFileGroupName5],[PartitioningFileGroupName6],[PartitioningFileGroupName7],[PartitioningFileGroupName8],[PRIMARY])

我知道这是一个老问题,但也许这会帮助别人避免同样的问题!

  • 谢谢你提到默认分区! (2认同)

Edu*_*ais 5

可能您忘记在分区方案中包含[PRIMARY]文件组.


ice*_*ain 1

所有文件组都必须明确输入到方案中。