Просмотр расширенных свойств

Расширенные свойства объектов базы данных можно отобразить с помощью встроенной функции fn_listextendedproperty или с помощью представления каталога sys.extended_properties в инструкции SQL. Кроме того, расширенные свойства можно просмотреть при помощи обозревателя объектов в среде Среда SQL Server Management Studio.

Работа с функцией fn_listextendedproperty

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

Следующие примеры демонстрируют порядок отображения расширенных свойств для различных объектов с помощью функции fn_listextendedproperty в инструкции SELECT.

A. Отображение расширенных свойств для базы данных

В следующем примере отображаются все расширенные свойства, заданные для базы данных.

USE AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO

Ниже приводится результирующий набор.

objtype objname name value

--------- --------- ----------- ----------------------------

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(Обработано строк: 1)

Б. Отображение расширенных свойств для всех столбцов таблицы

В следующем примере показаны расширенные свойства для столбцов в таблице ScrapReason , которая содержится в схеме Production.

USE AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO

Ниже приводится результирующий набор.

objtype objname name value

------- ----------- ------------- ------------------------

COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.

COLUMN Name MS_Description Failure description.

COLUMN ModifiedDate MS_Description Date the record was last updated.

(Обработано строк: 3)

В. Отображение расширенных свойств для всех таблиц схемы

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

USE AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO

Работа с представлением каталога sys.extended_properties

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

Следующие примеры демонстрируют порядок отображения дополнительных свойств для различных объектов с помощью представлений каталога sys.extended_properties. Соединение с дополнительными представлениями каталога возвращает имена объектов в виде имен столбцов в таблице.

A. Отображение всех расширенных свойств в базе данных

В следующем примере показаны все расширенные свойства в образце базы данных AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
SELECT class, class_desc, major_id, minor_id, name, value
FROM sys.extended_properties;
GO

Б. Отображение расширенных свойств для всех индексов в базе данных

В следующем примере показаны все расширенные свойства для индексов в образце базы данных AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
SELECT class, class_desc, major_id, minor_id, ep.name, s.name AS [Index Name], value
FROM sys.extended_properties AS ep
INNER JOIN sys.indexes AS s ON ep.major_id = s.object_id AND ep.minor_id = s.index_id
WHERE class = 7;
GO

В. Отображение расширенных свойств для столбцов таблицы

В следующем примере показаны расширенные свойства для всех столбцов во всех таблицах образца базы данных AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column Name], value AS [Extended Property]
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id 
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE class = 1;
GO

Использование обозревателя объектов для отображения расширенных свойств

Расширенные свойства можно просматривать, добавлять и удалять при помощи обозревателя объектов в среде Среда SQL Server Management Studio. Расширенные свойства можно отобразить только для выбранного объекта. Чтобы просмотреть расширенные свойства объекта при помощи обозревателя объектов, выполните следующие действия.

  1. В обозревателе объектов щелкните правой кнопкой мыши объект базы данных и в контекстном меню выберите Свойства.

  2. В диалоговом окне Свойства выберите Расширенные свойства. На панели Свойства отображаются расширенные свойства. В этом диалоговом окне можно удалить существующие свойства и добавить новые.