2010-04-21 84 views
0

我有一个登台表(stage_enrolments)和一个生产表(登记表)。暂存表没有分区,生产表是。我试图使用ALTER TABLE SWITCH语句将临时表中的记录传输到生产环境。ALTER TABLE SWITCH分区在SQL Server 2008中失败

ALTER TABLE dbo.stage_enrolments 切换到dbo.enrolments PARTITION @partition_num;

然而,当我执行该语句,我得到以下错误:

ALTER TABLE switch语句失败。目标表'Academic.dbo.enrolments'由1个索引视图引用,但源表'Academic.dbo.stage_enrolments'仅由0个匹配的索引视图引用

我具有相同的索引视图在dbo.stage_enrolments上定义,就像我在dbo.enrolments上做的那样 - 尽管注册视图是分区的。我试着重新创建视图和他们的索引检查所有选项是相同的,但我得到相同的结果。如果我从dbo.enrolments视图中删除索引,那么它工作正常。

我让它工作在另一组具有索引视图的表上,所以我不知道为什么它不适用于这些。有没有人有一个想法,为什么这可能会发生?我还应该检查什么?

+0

我认为索引视图是分区对齐的并且在相同的分区方案上? – Andrew 2010-04-21 11:09:20

回答

0

该问题现在已经排序。我重新创建了索引视图,现在它正在工作。除了索引名称之外,我实际上并没有改变任何东西,所以我不确定问题是什么。