2008-08-20 2 views
2

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

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

ответ

5

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

http://www.codeplex.com/datadictionary

enter image description here

+0

Ба. Это только обрабатывает EP для таблиц и представлений. – JJS 2015-09-22 21:13:39

1

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

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

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

Вот 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 @[email protected], 
              @level0type=N'SCHEMA', 
              @[email protected], 
              @level1type=N'TABLE', 
              @[email protected], 
              @level2type=N'COLUMN', 
              @[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) для значений? – JJS 2015-09-22 21:15:03

Смежные вопросы