Рекомендовать инструмент для управления расширенными свойствами в SQL Server 2005 [закрыто]

Server Management Studio имеет тенденцию быть немного не интуитивным, когда дело доходит до управления расширенными свойствами, поэтому любой может порекомендовать достойный инструмент, который улучшит ситуацию.

Одна вещь, которую я хотел бы сделать, это иметь шаблоны, которые я могу применять объекты, таким образом стандартизируя номенклатуру и содержание свойств, применяемых к объектам.

20.08.2008 15:58:40
2 ОТВЕТА
РЕШЕНИЕ

Взгляните на Data Dictionary Creator, инструмент с открытым исходным кодом, который я написал, чтобы упростить редактирование расширенных свойств. Он также включает в себя возможность экспорта информации в различных форматах.

http://www.codeplex.com/datadictionary

введите описание изображения здесь

5
28.03.2012 19:41:43
Ба. Это касается только EP для таблиц и представлений.
JJS 22.09.2015 21:13:39

Вы также можете подумать о том, чтобы иметь хороший повторно запускаемый скрипт, который позволит вам поддерживать расширенные свойства. Системные хранимые процедуры для выполнения этой работы хорошо, но они трудны, поэтому я обертываю их своей собственной хранимой процедурой, чтобы мне было легче с ними справляться.

Например, ниже представлена ​​хранимая процедура, нацеленная на расширенные свойства на уровне столбцов, которая а) проверяет, существует ли расширенное свойство, и б) если так, то удаляет его, а в) добавляет его.

Это позволяет мне поддерживать чистый повторно запускаемый (что крайне важно для автоматизированных процессов сборки) простой однострочный скрипт для добавления расширенных свойств (только на уровне столбцов) - вам нужно изменить это или написать аналогичный для других типов объектов ).

Вот 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
1
27.02.2013 19:34:58
Считаете ли вы, nvarchar (255) всегда достаточно для значений?
JJS 22.09.2015 21:15:03