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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
2 203
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

http://www.codeplex.com/datadictionary

Ба. Это обрабатывает только EP для таблиц и представлений.

JJS 23.09.2015 00:13

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

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

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

Вот пример:

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

Вы считаете, что nvarchar (255) всегда достаточен для значений?

JJS 23.09.2015 00:15

Другие вопросы по теме