2010-04-21 4 views
0

J'ai une table de transfert (stage_enrolments) et une table de production (inscriptions). La table de transfert n'est pas partitionnée, la table de production est. J'essaie d'utiliser l'instruction ALTER TABLE SWITCH pour transférer les enregistrements de la table de transfert vers la production.ALTER TABLE SWITCH Partition défaillante dans SQL Server 2008

ALTER TABLE dbo.stage_enrolments COMMUTER SUR dbo.enrolments PARTITION @partition_num;

Cependant, quand j'exécute cette déclaration, je reçois l'erreur suivante:

ALTER TABLE instruction switch a échoué. La table cible 'Academic.dbo.enrolments' est référencée par 1 vue (s) indexée (s), mais la table source 'Academic.dbo.stage_enrolments' n'est référencée que par 0 vue (s) indexée (s)

J'ai la même vue indexée défini sur dbo.stage_enrolments comme je le fais sur dbo.enrolments - bien que la vue sur les inscriptions soit partitionnée. J'ai essayé de recréer les vues et leurs index en vérifiant que toutes les options sont les mêmes mais j'ai le même résultat. Si je supprime l'index de la vue dbo.enrolments, cela fonctionne correctement. Je l'ai fait travailler sur un autre ensemble de tables qui ont des vues indexées donc je ne sais pas pourquoi cela ne fonctionne pas pour ceux-ci. Est-ce que quelqu'un a une idée de la raison pour laquelle cela peut se produire? Quoi d'autre devrais-je vérifier?

+0

Je considère que la vue indexée est alignée sur la partition et sur le même schéma de partition? – Andrew

Répondre

0

Le problème a maintenant été résolu. J'ai recréé la vue indexée et cela fonctionne maintenant. Je n'ai pas changé quoi que ce soit d'autre que le nom de l'index, donc je ne suis pas sûr du problème.