Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric Preview
Contient une ligne pour chaque colonne, ou ensemble de colonnes, comportant une clé étrangère.
| Column name | Data type | Description |
|---|---|---|
| constraint_object_id | int | ID de la contrainte FOREIGN KEY. |
| constraint_column_id | int | ID de la colonne, ou du jeu de colonnes, qui comporte la contrainte FOREIGN KEY (1..n où n est le nombre de colonnes). |
| parent_object_id | int | ID du parent de la contrainte, qui est l'objet référençant. |
| parent_column_id | int | ID de la colonne parente, qui est la colonne référençante. |
| referenced_object_id | int | ID de l'objet référencé, qui contient la clé candidate. |
| referenced_column_id | int | ID de la colonne référencée (colonne clé candidate). |
Permissions
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.
Example query
La requête Transact-SQL suivante récupère toutes les clés étrangères dans la base de données, y compris leurs tables et colonnes associées.
SELECT fk.name AS ForeignKeyName
, t_parent.name AS ParentTableName
, c_parent.name AS ParentColumnName
, t_child.name AS ReferencedTableName
, c_child.name AS ReferencedColumnName
FROM sys.foreign_keys fk
INNER JOIN sys.foreign_key_columns fkc
ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables t_parent
ON t_parent.object_id = fk.parent_object_id
INNER JOIN sys.columns c_parent
ON fkc.parent_column_id = c_parent.column_id
AND c_parent.object_id = t_parent.object_id
INNER JOIN sys.tables t_child
ON t_child.object_id = fk.referenced_object_id
INNER JOIN sys.columns c_child
ON c_child.object_id = t_child.object_id
AND fkc.referenced_column_id = c_child.column_id
ORDER BY t_parent.name, c_parent.name;