<p>Server Management Studio tends to be a bit un-intuitive when it comes to managing Extended Properties, so can anyone recommend a decent tool that improves the situation.</p>

<p>One thing I would like to do is to have templates that I can apply objects, thus standardising the nomenclature and content of the properties applied to objects.</p>

[{'answer_id': 18336, 'author': 'Jon Galloway', 'author_id': 5, 'author_profile': 'https://Stackoverflow.com/users/5', 'pm_score': 4, 'selected': True, 'text': '<p>Take a look at Data Dictionary Creator, an open source tool I wrote to make it easier to edit extended properties. It includes the ability to export the information in a variety of formats, as well.</p>\n\n<p><a href="http://www.codeplex.com/datadictionary" rel="nofollow noreferrer">http://www.codeplex.com/datadictionary</a></p>\n\n<p><img src="https://i.stack.imgur.com/z8Qve.png" alt="enter image description here"></p>\n'}, {'answer_id': 15105932, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 1, 'selected': False, 'text': "<p>You might also think about having a nice re-runnable script that lets you maintain the extended properties. The system stored procedures for doing this work well, but they are a pain, so I wrap them with my own stored procedure so I can more easily deal with them.</p>\n\n<p>For example, below is a stored procedure targeted at column level extended properties that a) checks to see if the extended property already exists, and b) if so drops it, and c) then adds it.  </p>\n\n<p>This lets me maintain a clean re-runnable (which is critical for automated build processes) script of simple one liners to add the extended properties (column level only - you'd need to modify this one or write a similar one for other object types).</p>\n\n<p>Here is the sproc:</p>\n\n<pre><code>IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].                    [snap_xpColumn_addUpdate]') AND type in (N'P', N'PC'))\nDROP PROCEDURE [dbo].snap_xpColumn_addUpdate\nGO\n\nCREATE PROCEDURE [dbo].[snap_xpColumn_addUpdate]\n    @TableName NVARCHAR(255), \n    @ColumnName NVARCHAR(255),\n    @ExtPropName NVARCHAR(255), \n    @ExtPropValue NVARCHAR(255), \n    @SchemaOwner NVARCHAR(255) = 'dbo'\nAS\n\n    IF EXISTS(SELECT * FROM     ::fn_listextendedproperty(@ExtPropName,'SCHEMA',@SchemaOwner,\n                                                          'TABLE',@TableName,'COLUMN',@ColumnName))\n    BEGIN\n        -- drop it\n        EXEC sys.sp_dropextendedproperty @name=@ExtPropName, \n                                             @level0type=N'SCHEMA',\n                                             @level0name=@SchemaOwner, \n                                             @level1type=N'TABLE',\n                                             @level1name=@TableName, \n                                             @level2type=N'COLUMN',\n                                             @level2name=@ColumnName\n    END\n\n    -- add it\n    EXEC sys.sp_addextendedproperty @name=@ExtPropName, \n                                        @value=@ExtPropValue, \n                                        @level0type=N'SCHEMA',\n                                        @level0name=@SchemaOwner, \n                                        @level1type=N'TABLE',\n                                        @level1name=@TableName, \n                                        @level2type=N'COLUMN',\n                                        @level2name=@ColumnName\n\n\nGO\n</code></pre>\n"}]
['https://Stackoverflow.com/questions/18272', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/770/']