2011-07-05 2 views
0

SQL Server permet de stocker des métadonnées comme la description d'une table et de ses colonnes. La description des colonnes peut être récupérée à partir de sys.extended_properties. Il existe également un moyen de définir la description d'une vue (en utilisant la fenêtre des propriétés). Mais il n'y a aucun moyen (ou du moins je ne suis pas au courant en ce moment) de mettre la description d'une colonne dans une vue.Métadonnées SQL Server: comment obtenir la description des colonnes dans les vues

Pour un développement particulier, nous conservons les descriptions dans la base de données elle-même. Cela nous permet de le garder dans un seul endroit et de faire un rapport sur celui-ci.

Nous voulions étendre la même chose pour inclure les vues.

Quelqu'un peut-il vous aider?

Répondre

1

Il fonctionne très bien en SSMS 2008. Utilisez l'Explorateur d'objets et sélectionnez les propriétés de la colonne dans la vue.

Cela ne fonctionne pas avec SSMS 2005. Vous obtiendrez une exception Alter failed for Column 'ColumnName'. View columns cannot be modified or created. (Microsoft.SqlServer.Smo).

Mais vous pouvez utiliser SSMS 2008 pour ajouter les métadonnées à une base de données SQL Server 2005.

+0

Fonctionne avec les tables. Mais est-ce que ça marche avec des vues? – Kangkan

+0

@Kangkan - L'utilisation de SSMS 2008 fonctionne à la fois pour les tables et les vues. Avec SSMS 2005, il fonctionne pour les tables mais pas avec les vues. –

+0

Je dois mettre à jour après avoir essayé. Merci. – Kangkan

0

Il peut y avoir une solution de contournement. Créer une table pour chaque vue et à partir de là, ce sera la même chose que vous faisiez. Disons que, vous avez une vue comme VIEW_TEMP, puis écrire:

SELECT * INTO TABLE_FOR_VIEW_TEMP FROM VIEW_TEMP 

Une table sera créée et vous pouvez travailler avec vos documents.

+0

La documentation n'est pas l'objectif final. L'objectif est de maintenir côte à côte la documentation et la structure. D'ailleurs, la documentation peut également être conservée dans un document Word, mais maintenir deux disjoints est une douleur et vous proposez quelque chose de similaire. – Kangkan

1

Certes, SQL Server prend en charge le stockage et la récupération des valeurs de métadonnées contre le columns of a view, mais je ne pense pas Management Studio prend en charge tout comme la fenêtre des propriétés pour elle.

Vous pouvez maintenir la description, etc., en utilisant sp_addextendedproperty et ses fonctions connexes, par exemple .:

EXEC sp_addextendedproperty 
@name = N'Description', 
@value = 'Postal Code lorem ipsum...', 
@level0type = N'Schema', @level0name = 'dbo', 
@level1type = N'View', @level1name = 'MyView', 
@level2type = N'Column', @level2name = 'PostCodeColumn'; 
+0

De cette façon, il sera très difficile de mettre à jour les colonnes pour toutes les vues. Ce que je cherche est une façon interactive de le faire. – Kangkan

Questions connexes