Impossible de supprimer la contrainte dans le serveur SQL 2005, « Impossible de supprimer la contrainte. Voir les erreurs précédentes »
-
25-09-2019 - |
Question
Je suis en train de supprimer une contrainte sur une table DB, quelque chose comme:
ALTER TABLE MyTable drop CONSTRAINT FK_MyTable_AnotherTable
Mais l'exécution passe juste et fonctionne. Si je l'arrête, je vois:
Msg 3727, Level 16, State 0, Line 2
Could not drop constraint. See previous errors.
recherche sur le Web vomit différentes pages mais notez que la contrainte est bien nommé et je suis en train de le supprimer en utilisant le nom correct
La solution 2
trouvé un moyen de régler ce problème, même si je ne comprends pas pourquoi il était nécessaire.
Ont été en mesure de supprimer la contrainte en le désactivant d'abord:
ALTER MyTable NOCHECK CONSTRAINT FK_MyTable_AnotherTable
La chute complète alors fin
serait toujours heureux de recevoir vos commentaires sur la raison pour laquelle cela est nécessaire
Autres conseils
Je faisais la même question sur SQL Server 2008 R2 , je résolu mon problème, espérons avec la ligne ci-dessous il va travailler pour quelqu'un d'autre aussi bien:)
Alter Table [Table Name]
DROP Column [Column Name]
Vérifiez que vous ne l'avez pas déjà fait tomber la contrainte, comme:
SELECT OBJECT_ID('FK_MyTable_AnotherTable')
Si elle retourne null
, votre contrainte n'existe plus. Cela expliquerait le message d'erreur.
J'ai eu le même problème.
La raison est que dans ma déclaration du curseur que je fait une erreur, ce qui était une contrainte, j'itération devais baisser. Donc, cette erreur est survenue lors de la contrainte a été effectivement enlevé dans la même transaction . Ensuite, je l'ai vérifié et un rollback si elle existait: il l'a fait (bien sûr, après rollback!)
.Vérifier si elle existe vraiment au moment de la chute.