处理分区任务并遵循本教程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都存在,我是管理员在我的方框中,显然这不是问题所在。
有人会评论我做得不对吗?谢谢!