2008-12-18 6 views

Répondre

26

Utilise les propriétés étendues. Par exemple, pour ajouter une propriété étendue à une table dans le schéma dbo vous pouvez utiliser:

EXEC sys.sp_addextendedproperty @name=N'<NameOfProp>', 
@value=N'<Value>' , @level0type=N'SCHEMA',@level0name=N'dbo', 
@level1type=N'TABLE',@level1name=N'<Table>' 

Vous pouvez les mettre à jour:

EXEC sys.sp_updateextendedproperty 
    @name=N'MS_Description', @value=N'My Description' , 
    @level0type=N'SCHEMA',@level0name=N'dbo', 
     @level1type=N'TABLE' 
    ,@level1name=N'<YOUR TABLE NAME>' 

Vous pouvez les lire comme:

SELECT * 
FROM fn_listextendedproperty (NULL, 'schema','dbo', 'table', '<yourtable>', default, default); 

ou

SELECT 
p.name AS [Name],p.value 
FROM 
sys.tables AS tbl 
INNER JOIN sys.extended_properties AS p ON p.major_id=tbl.object_id AND p.minor_id=0 AND p.class=1 
WHERE 
(tbl.name=N'<yourtablename>' and SCHEMA_NAME(tbl.schema_id)=N'dbo') 
ORDER BY 
[Name] ASC 
+0

Oui mais vous ne devriez pas idéalement ne pas regarder ce genre de choses mais utiliser une application qui vous permet de lire et d'écrire les commentaires. Vous pouvez également les ajouter via Sql Mgmt Studio. – JoshBerke

3

La plupart des outils et des personnes utilisent les propriétés étendues pour cela. Le nom commun utilisé par SSMS est MS_Description

Il existe plusieurs procédures stockées intégrées pour créer ces propriétés et les lire, elles ont changé au fil du temps pour qu'il y ait des différences entre les versions SQL.

9

Vous pourriez sûrement utiliser le SP mentionné ci-dessus pour le faire, cependant, il y a un moyen plus facile de le faire et je crois que MGT Studio devrait être votre premier choix pour faire ces changements à moins que vous n'essayiez d'automatiser les choses en utilisant un script. Voici comment faire: enter image description here

1- Faites un clic droit sur la table

2- Cliquez sur la conception

3- Commentaire comme indiqué ci-dessus

Juste pour que vous avez une réponse complète , voici un script plus simple pour le changer (plus simple comparant aux réponses ci-dessus):

DECLARE @v sql_variant 
SET @v = N'Comment here' 
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Stack_testing', N'COLUMN', N'testinghere' 
0

Malheureusement cette approche n'est pas applicable aux environnements de production fortement chargés. Les procédures stockées manipulant les propriétés étendues définissent un verrou exclusif sur la table cible. Pendant leur exécution, la table entière est illisible.

Questions connexes