스테이징 테이블 (stage_enrolments)과 프로덕션 테이블 (enrollments)이 있습니다. 스테이징 테이블이 파티션되지 않고 프로덕션 테이블이 파티션됩니다. ALTER TABLE SWITCH 문을 사용하여 준비 테이블의 레코드를 프로덕션으로 전송하려고합니다.ALTER TABLE SWITCH SQL Server 2008에서 파티션에 실패가 발생했습니다.
변경 테이블 dbo.stage_enrolments dbo.enrolments로 전환 PARTITION @partition_num; 나는 다음과 같은 오류가이 문을 실행할 때
그러나 :
대한 ALTER TABLE SWITCH 문이 실패했습니다. 대상 테이블 'Academic.dbo.enrolments'는 1 개의 인덱싱 된 뷰에서 참조되지만 원본 테이블 'Academic.dbo.stage_enrolments'는 0 개의 일치하는 인덱싱 된 뷰에서만 참조됩니다.
동일한 인덱스 뷰 등록에 대한보기가 분할되어 있지만 dbo.enrolments 에서처럼 dbo.stage_enrolments에 정의되어 있습니다. 나는 모든 옵션이 동일하다는 것을 확인하면서 뷰와 인덱스를 다시 만들려고 시도했지만 동일한 결과를 얻는다. dbo.enrolments 뷰에서 인덱스를 제거하면 올바르게 작동합니다.
인덱스 된 뷰가있는 다른 테이블 세트에서 작업하고 있으므로 왜 이러한 테이블이 작동하지 않는지 잘 모르겠습니다. 왜 이런 일이 일어날 지에 대한 생각을 가진 사람이 있습니까? 그 밖의 무엇을 확인해야합니까?
인덱싱 된 뷰가 같은 파티션 구성표에 정렬되어 있다고 생각합니까? – Andrew