2010-07-29 14 views
0

J'ai la requête SQL pour obtenir tous les noms de contraintes, mais je ne sais pas comment obtenir son statut comme s'il est activé/désactivé?Comment récupérer l'état de la contrainte de clé étrangère?

SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint, 
SCHEMA_NAME(schema_id) AS SchemaName, 
OBJECT_NAME(parent_object_id) AS TableName, 
type_desc AS ConstraintType,* 
FROM sys.objects 

Une aide?

Répondre

2

Utilisez OBJECTPROPERTY(OBJECT_ID('FK_foo_bar', 'CnstIsDisabled')

OU

Utilisation sys.foreign_keys qui a une colonne "is_disabled"

+0

+1 Je ne trouve pas la propriété 'objet CnstIsDisabled', mais sys.foreign_keys a travaillé. Je suis allé chasser autour de INFORMATION_SCHEMA mais je n'ai trouvé aucun drapeau ici. – mdma

+0

@mdma: Es-tu Antoops qui a aussi posé la question? – gbn

+0

non, mais j'étais intéressé par la réponse. (J'ai aussi commencé à rechercher la réponse.) – mdma