Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sys.sp_addextendedproperty / 7 сообщений из 7, страница 1 из 1
21.10.2014, 16:50
    #38783223
Yagrus2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
Здравствуйте.
Подскажите для чего используют процедуру sys.sp_addextendedproperty?
Из описания на http://msdn.microsoft.com/ru-ru/library/ms180047.aspx мало что понял.

Нашел такой пример:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GateOrgStructure](
	[Id] [uniqueidentifier] NOT NULL,
	[CreatedOn] [datetime2](7) NULL,
	[ModifiedOn] [datetime2](7) NULL,
	[GateStatusId] [uniqueidentifier] NULL,
	[GateError] [nvarchar](max) NOT NULL,
	[ExtCode] [nvarchar](250) NOT NULL,
	[SubdivisionName] [nvarchar](250) NOT NULL,
	[SubdivisionId] [nvarchar](50) NOT NULL,
	[Address] [nvarchar](250) NOT NULL,
	[City] [nvarchar](50) NOT NULL,
	[TD] [nvarchar](50) NOT NULL,
	[OpenedDate] [date] NULL,
	[SubdivisionType] [nvarchar](50) NOT NULL,
	[DateAdd] [datetime2](7) NULL,
	[SuperiorSubdivisionNumber] [nvarchar](50) NOT NULL,
	[RKO] [int] NOT NULL,
	[PKO] [int] NOT NULL,
) 

GO
EXEC sys.sp_addextendedproperty @name=N'TS.ActionType', @value=N'Column' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GateOrgStructure', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'TS.ColumnName', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GateOrgStructure', @level2type=N'COLUMN',@level2name=N'Id'


из него не смог понять, что мы сделали вышеуказанной процедурой.
Есть идеи?

Посмотрел свойства таблицы. В Extended Properties ничего.
...
Рейтинг: 0 / 0
21.10.2014, 16:51
    #38783226
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
Yagrus2Посмотрел свойства таблицы. В Extended Properties ничего.
Потому что вы добавили Extended Properties полей, а не таблицы
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
08.03.2019, 19:45
    #39783921
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
Возобновлю тему...

Механизм есть но полезность его близка к нулю?

Кроме как чуть-чуть дельной статьи на хабре от 2013-го года ( https://habr.com/ru/sandbox/71210/) ни чего не нашёл.
Если кто-то комментирует колонки и как-то в дальнейшем это использует,- направьте на путь истинный,- где что-то полезное почитать?....

Заранее спасибо...
...
Рейтинг: 0 / 0
08.03.2019, 20:40
    #39783946
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
SIMPLicity_,

Если не описывать систему, то да, полезность нулевая.
Но если сами поьзователи знают, где посмотреть описание, то это существенно снижает нагрузку на службу поддержки. Также можно создать нечто вроде вики-сайта, который просто берет описания из свойств. Также там можно хранить всякие метаданные:
- номер задачи, в соответствии с которой создана/изменена колонка или таблица
- первичный источник данных
- функиональный блок, к которому относится сущность
- SSIS-пакет, через который грузится сущность
- разнообразные настройки, навроде видимости объекта в интерфейсе
- ссылки на структуры, эмулирующие FK, если справочники находся в других базах на других серверах (для выпадающих списков)

И куча других применений. По сути там может лежать все то, что относится к метаданным таблиц, столбцов и, реже, других объектов.
...
Рейтинг: 0 / 0
09.03.2019, 22:40
    #39784180
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
SIMPLicity_,

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

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

Метки, разумеется бесполезны, если разработка ведется в продуктовой базе и все правки вносятся на лету. Но эта практика пригодна лишь для разработки в малых систем.

В расширенном свойстве удобно хранить версию базы.
...
Рейтинг: 0 / 0
09.03.2019, 22:54
    #39784184
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
Спасибо, коллеги!
Хотел использовать для себя, в рабочей базе в том числе, и что бы было видно из SSMS - и для себя и для сотрудников, сопровождающих базу и создающих свои "примочки". Ну, что бы в хелп не надо было лазить по мелочам,... и оставлять комментарии по использованию.
"удивительное рядом, но оно запрещено"
...
Рейтинг: 0 / 0
11.03.2019, 14:58
    #39784503
ЛиП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sys.sp_addextendedproperty
+ Стороне утилиты (RedGate, dbForge...) умеют вытаскивать extendedproperty и пока звать как вплывающие подсказки или использовать их при создании документации по БД
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sys.sp_addextendedproperty / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]