Je viens d'apprendre, à ma grande surprise, que les contraintes de clé étrangère peuvent ne pas être fiables. Cela se produit lorsqu'une contrainte est ajoutée en utilisant WITH NOCHECK
. Lorsqu'une contrainte n'est pas approuvée, elle n'est pas utilisée par l'analyseur de requête pour la génération du plan de requête.Contraintes non approuvées
Voir:
http://sqlblog.com/blogs/hugo_kornelis/archive/2007/03/29/can-you-trust-your-constraints.aspx
Ma question est la suivante. Quand une contrainte est non-fiable, y a-t-il une propriété sur la contrainte que je peux inspecter qui me dit cela? Je suppose que je pourrais vérifier pour voir si la contrainte a été ajoutée en utilisant WITH NOCHECK, mais existe-t-il d'autres façons qu'une contrainte puisse être signalée comme non approuvée?