推荐一个工具来管理SQL Server中的扩展属性2005


2

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

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

5

查看Data Dictionary Creator,我编写的一个开放源码工具,可以更容易地编辑扩展属性。它还包括以各种格式导出信息的能力。

http://www.codeplex.com/datadictionary

enter image description here

  0

呸。这只能处理表格和视图的EP。 22 9月. 152015-09-22 21:13:39


1

你也可以考虑有一个很好的重新运行的脚本,可以让你维护的扩展属性。系统为此存储过程运行良好,但它们很痛苦,所以我用自己的存储过程来包装它们,以便更轻松地处理它们。

例如,下面是一个针对列级扩展属性的存储过程,a)检查扩展属性是否已经存在,以及b)是否将其删除,c)然后添加它。

这让我保持一个干净的可重新运行的脚本(这对于自动构建过程来说非常重要),可以添加扩展属性(仅列级别 - 您需要修改这个脚本或编写类似的脚本对于其他对象类型)。

这里是存储过程:

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 @[email protected], 
              @level0type=N'SCHEMA', 
              @[email protected], 
              @level1type=N'TABLE', 
              @[email protected], 
              @level2type=N'COLUMN', 
              @level2name=[email protected] 
    END 

    -- add it 
    EXEC sys.sp_addextendedproperty @[email protected], 
             @[email protected], 
             @level0type=N'SCHEMA', 
             @[email protected], 
             @level1type=N'TABLE', 
             @[email protected], 
             @level2type=N'COLUMN', 
             @[email protected] 


GO 
  0

你发现nvarchar(255)总是足够值吗? 22 9月. 152015-09-22 21:15:03