推荐用于管理 SQL Server 2005 中的扩展属性的工具 [已关闭]

Recommend a tool to manage Extended Properties in SQL server 2005 [closed]

提问人:Martin 提问时间:8/20/2008 最后编辑:Jon LinMartin 更新时间:2/28/2013 访问量:2247

问:


要求我们推荐或查找工具、库或最喜欢的场外资源的问题对 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,描述问题以及到目前为止为解决该问题所做的工作。

10年前关闭。

Server Management Studio 在管理扩展属性时往往有点不直观,所以任何人都可以推荐一个像样的工具来改善这种情况。

我想做的一件事是拥有可以应用对象的模板,从而标准化应用于对象的属性的命名法和内容。

sql-server 扩展属性

评论


答:

5赞 Jon Galloway 8/21/2008 #1

看看 Data Dictionary Creator,这是我编写的开源工具,可以更轻松地编辑扩展属性。它还包括以各种格式导出信息的能力。

http://www.codeplex.com/datadictionary

enter image description here

评论

0赞 JJS 9/23/2015
呸。这仅处理表和视图的 EP。
1赞 user2057873 2/27/2013 #2

您可能还考虑使用一个不错的可重新运行脚本来维护扩展属性。系统存储过程可以很好地完成这项工作,但它们很痛苦,所以我用自己的存储过程包装它们,以便我可以更轻松地处理它们。

例如,下面是一个面向列级扩展属性的存储过程,该过程 a) 检查扩展属性是否已存在,b) 如果存在,则删除它,然后 c) 添加它。

这使我能够维护一个干净的可重新运行(这对于自动化构建过程至关重要)的简单脚本,以添加扩展属性(仅限列级别 - 您需要修改此属性或为其他对象类型编写类似的属性)。

这是 sproc:

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].                    [snap_xpColumn_addUpdate]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].snap_xpColumn_addUpdate
GO

CREATE PROCEDURE [dbo].[snap_xpColumn_addUpdate]
    @TableName NVARCHAR(255), 
    @ColumnName NVARCHAR(255),
    @ExtPropName NVARCHAR(255), 
    @ExtPropValue NVARCHAR(255), 
    @SchemaOwner NVARCHAR(255) = 'dbo'
AS

    IF EXISTS(SELECT * FROM     ::fn_listextendedproperty(@ExtPropName,'SCHEMA',@SchemaOwner,
                                                          'TABLE',@TableName,'COLUMN',@ColumnName))
    BEGIN
        -- drop it
        EXEC sys.sp_dropextendedproperty @name=@ExtPropName, 
                                             @level0type=N'SCHEMA',
                                             @level0name=@SchemaOwner, 
                                             @level1type=N'TABLE',
                                             @level1name=@TableName, 
                                             @level2type=N'COLUMN',
                                             @level2name=@ColumnName
    END

    -- add it
    EXEC sys.sp_addextendedproperty @name=@ExtPropName, 
                                        @value=@ExtPropValue, 
                                        @level0type=N'SCHEMA',
                                        @level0name=@SchemaOwner, 
                                        @level1type=N'TABLE',
                                        @level1name=@TableName, 
                                        @level2type=N'COLUMN',
                                        @level2name=@ColumnName


GO

评论

0赞 JJS 9/23/2015
你发现nvarchar(255)总是足以容纳值吗?