Affichage des propriétés étendues

Les propriétés étendues des objets de base de données peuvent être affichées à l'aide de la fonction intégrée fn_listextendedproperty ou de l'affichage catalogue sys.extended_properties dans une instruction SQL. Elles peuvent en outre être affichées à l'aide de l'Explorateur d'objets de SQL Server Management Studio.

Utilisation de la fonction fn_listextendedproperty

La fonction fn_listextendedproperty peut afficher les propriétés étendues d'un objet de base de données spécifique ou de tous les objets de la base de données, suivant le type d'objet. Par exemple, vous pouvez retourner les propriétés étendues d'une table ou de toutes les colonnes de la table.

Les exemples ci-dessous montrent comment afficher les propriétés d'une série d'objets à l'aide de la fonction fn_listextendedproperty dans une instruction SELECT.

A. Affichage des propriétés étendues d'une base de données

L'exemple ci-dessous affiche toutes les propriétés étendues définies sur la base de données elle-même.

USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO

Voici l'ensemble de résultats obtenu :

objtype    objname     name            value
---------  ---------   -----------     ----------------------------
NULL       NULL        MS_Description  AdventureWorks Sample OLTP Database

(1 row(s) affected)

B. Affichage des propriétés étendues de toutes les colonnes d'une table

L'exemple ci-dessous affiche les propriétés étendues des colonnes de la table ScrapReason contenue dans le schéma Production.

USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO

Voici l'ensemble de résultats obtenu :

objtype objname      name            value   
------- -----------  -------------   ------------------------
COLUMN ScrapReasonID MS_Description  Primary key for ScrapReason records.
COLUMN Name          MS_Description  Failure description.
COLUMN ModifiedDate  MS_Description  Date the record was last updated.

(3 row(s) affected)

C. Affichage des propriétés étendues de toutes les tables d'un schéma

L'exemple ci-dessous affiche les propriétés étendues de toutes les tables contenues dans le schéma Sales.

USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO

Utilisation de l'affichage catalogue sys.extended_properties

Vous pouvez afficher les propriétés étendues en interrogeant l'affichage catalogue sys.extended_properties. Cet affichage offre une méthode simple pour retourner les valeurs de propriété étendue et peut être combiné avec d'autres affichages catalogue pour retourner des données supplémentaires, telles que les noms d'objets ou les types d'objets associés à la propriété étendue.

Les exemples ci-dessous montrent comment afficher les propriétés étendues d'une série d'objets à l'aide des affichages catalogue sys.extended_properties. Les jointures définies sur des affichages catalogue supplémentaires retournent des noms d'objets, tels que les noms des colonnes d'une table.

A. Affichage de toutes les propriétés étendues d'une base de données

L'exemple ci-dessous affiche toutes les propriétés étendues de la base de données fournie à titre d'exemple AdventureWorks.

USE AdventureWorks;
GO
SELECT class, class_desc, major_id, minor_id, name, value
FROM sys.extended_properties;
GO

B. Affichage des propriétés étendues de tous les index d'une base de données

L'exemple ci-dessous affiche toutes les propriétés étendues des index de la base de données fournie à titre d'exemple AdventureWorks.

USE AdventureWorks;
GO
SELECT class, class_desc, major_id, minor_id, ep.name, s.name AS [Index Name], value
FROM sys.extended_properties AS ep
INNER JOIN sys.indexes AS s ON ep.major_id = s.object_id AND ep.minor_id = s.index_id
WHERE class = 7;
GO

C. Affichage des propriétés étendues des colonnes d'une table

L'exemple ci-dessous affiche les propriétés étendues de toutes les colonnes pour la totalité des tables de la base de données fournie à titre d'exemple AdventureWorks.

USE AdventureWorks;
GO
SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column Name], value AS [Extended Property]
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id 
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE class = 1;
GO

Utilisation de l'Explorateur d'objets pour afficher les propriétés étendues

Les propriétés étendues peuvent être affichées, ajoutées et supprimées à l'aide de l'Explorateur d'objets de SQL Server Management Studio. Seules les propriétés étendues de l'objet sélectionné peuvent être affichées. Pour afficher les propriétés étendues d'un objet à l'aide de l'Explorateur d'objets, procédez comme suit :

  1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur l'objet de base de données, puis sélectionnez Propriétés.

  2. Dans la boîte de dialogue Propriétés de la base de données, sélectionnez Propriétés étendues. La propriété étendue apparaît dans le volet Propriétés. Cette boîte de dialogue permet de supprimer les propriétés existantes et d'ajouter de nouvelles propriétés.