表分区,第一次尝试 - 抛出错误

时间:2015-12-17 23:34:07

标签: sql sql-server-2008 partitioning

处理分区任务并遵循本教程Partitioned Tables and Indexes in SQL Server 2005

部分中将旧数据OUT和新数据IN转移到分区表,其中作者使用SPLIT RANGE技术将新边界添加到表中,我的代码抛出一个错误:关联的分区函数“Archive_PF”生成的分区多于方案“Archive_PS”中提到的文件组。',因为它不存在或您没有权限。

以下是我的工作:

切换出名为BusinessEvent_Purged的表的创建方式与活动表完全相同,减去主键上的IDENTITY属性。设置了所有约束和索引等。然后我切换出这样的数据:

ALTER TABLE [BusinessEvent_Archive]
SWITCH PARTITION 1
TO [BusinessEvent_Purged] PARTITION 1

然后我通过合并删除旧的边界点:

ALTER PARTITION FUNCTION [Archive_PF]()
MERGE RANGE (DATEADD(day, -394, DATEADD(day, DATEDIFF(day, 0, getdate()), 0)))

我现在正在剥离时间,因为现在这并不重要。然后我尝试通过以下方式添加新边界:

ALTER PARTITION FUNCTION [Archive_PF]() 
SPLIT RANGE (DATEADD(day, 1, DATEADD(day, DATEDIFF(day, 0, getdate()), 0)))

那是我收到错误的时候。

我知道分区功能和分区方案之间存在不匹配,但我不确定如何纠正它。该教程没有提及任何内容。

执行以下操作时,我也遇到错误:

ALTER PARTITION SCHEME [Archive_PF]
NEXT USED [PRIMARY]

作者建议合并分区会删除文件组和分区方案之间的关联。我在此步骤中遇到的错误是:无法更改分区方案“Archive_PF”,因为它不存在或您没有权限。然后PF和PS都存在,我是管理员在我的方框中,显然这不是问题所在。

有人会评论我做得不对吗?谢谢!

0 个答案:

没有答案