Поделиться через


fn_listextendedproperty (Transact-SQL)

Возвращает значения расширенных свойств объектов базы данных.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

fn_listextendedproperty ( 
    { default | 'property_name' | NULL } 
    , { default | 'level0_object_type' | NULL } 
    , { default | 'level0_object_name' | NULL } 
    , { default | 'level1_object_type' | NULL } 
    , { default | 'level1_object_name' | NULL } 
    , { default | 'level2_object_type' | NULL } 
    , { default | 'level2_object_name' | NULL } 
    ) 

Аргументы

  • { default | 'property_name' | NULL}
    Имя свойства. Аргумент property_name имеет тип sysname. Допустимыми входными значениями являются default, NULL или имя свойства.

  • { по умолчанию | 'level0_object_type' | NULL}
    Пользователь или определяемый пользователем тип. Аргумент level0_object_type имеет тип varchar(128) и значение по умолчанию NULL. Допустимые входные значения: ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER и значение NULL.

    Важное примечаниеВажно!

    Типы USER и TYPE уровня 0 будут удалены в будущих версиях SQL Server. Старайтесь не использовать эти элементы в новых разработках и предусмотрите соответствующие изменения в приложениях, которые используют эти типы в настоящее время. Тип SCHEMA следует использовать в качестве типа уровня 0 вместо USER. В значении аргумента TYPE следует указывать тип SCHEMA в качестве типа уровня 0 и TYPE в качестве типа уровня 1.

  • { по умолчанию | 'level0_object_name' | NULL}
    Имя указанного типа 0-го уровня. Аргумент level0_object_name имеет тип sysname и значение по умолчанию NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.

  • { default | 'level1_object_type' | NULL}
    Тип объекта уровня 1. Аргумент level1_object_type имеет тип varchar(128) и значение по умолчанию NULL. Допустимые входные значения: AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION и NULL.

    ПримечаниеПримечание

    Значение по умолчанию сопоставлено значению NULL, и значение «default» сопоставлено типу объектов DEFAULT.

  • {default | 'level1_object_name' |NULL }
    Имя указанного типа 1-го уровня. Аргумент level1_object_name имеет тип sysname и значение NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.

  • { default | 'level2_object_type' | NULL}
    Тип объекта уровня 2. Аргумент level2_object_type имеет тип varchar(128) и значение по умолчанию NULL. Допустимыми входными значениями являются DEFAULT, значение по умолчанию (сопоставленное значению NULL) и значение NULL. Допустимые входные значения для параметра level2_object_type : COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER и значение NULL.

  • { default | 'level2_object_name' | NULL}
    Имя объекта, указанного в качестве типа уровня 2. Аргумент level2_object_name имеет тип sysname и значение по умолчанию NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.

Возвращаемые таблицы

Это формат таблиц, возвращаемых функцией fn_listextendedproperty.

Имя столбца

Тип данных

objtype

sysname

objname

sysname

name

sysname

value

sql_variant

Возвращение пустой таблицы означает отсутствие у объекта расширенных свойств или отсутствие у пользователя разрешений на просмотр этих свойств. При возвращении расширенных свойств самой базы данных столбцы objtype и objname принимают значения NULL.

Замечания

Если значение аргумента property_name равно NULL или значению по умолчанию, функция fn_listextendedproperty возвращает все свойства объекта.

Если указан тип объекта, а значение, соответствующее имени объекта, равно NULL или значению по умолчанию, функция fn_listextendedproperty возвращает все расширенные свойства всех объектов заданного типа.

Объекты различаются по уровню: нулевой уровень является наивысшим, а второй — низшим. Если для объекта низкого уровня (1 или 2) указаны тип и имя, то для родительского объекта значения типа и имени не могут иметь значение NULL или значение по умолчанию. В противном случае функция возвращает пустой результирующий набор.

Разрешения

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

Примеры

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