Afficher les propriétés de clés étrangères

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Vous pouvez afficher les attributs de clé étrangère d’une relation dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.

autorisations

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.

Utiliser SQL Server Management Studio

  1. Ouvrez le Concepteur de tables pour la table contenant la clé étrangère que vous souhaitez afficher, cliquez avec le bouton droit dans le Concepteur de tables puis, dans le menu contextuel, choisissez Relations .

  2. Dans la boîte de dialogue Relations de clé étrangère , sélectionnez la relation possédant les propriétés à afficher.

Si les colonnes clés étrangères sont en relation avec une clé primaire, les colonnes clés primaires sont identifiées dans le Concepteur de tables par un symbole de clé primaire dans le sélecteur de ligne.

Utiliser Transact-SQL

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. L'exemple retourne toutes les clés étrangères et leurs propriétés pour la table HumanResources.Employee dans l'exemple de base de données.

    USE AdventureWorks2022;
    GO
    
    SELECT f.name AS foreign_key_name,
        OBJECT_NAME(f.parent_object_id) AS table_name,
        COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name,
        OBJECT_NAME(f.referenced_object_id) AS referenced_object,
        COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name,
        f.is_disabled,
        f.is_not_trusted,
        f.delete_referential_action_desc,
        f.update_referential_action_desc
    FROM sys.foreign_keys AS f
    INNER JOIN sys.foreign_key_columns AS fc
        ON f.object_id = fc.constraint_object_id
    WHERE f.parent_object_id = OBJECT_ID('HumanResources.Employee');
    

Pour plus d'informations, consultez sys.foreign_keys et sys.foreign_key_columns.