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


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. Допустимыми входными значениями являются значение по умолчанию, NULL или имя свойства.

  • { default | '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. Избегайте использования этих возможностей в новых проектах, а также запланируйте внесение изменений в приложения, использующие их в настоящее время. В качестве типа уровня 0 вместо значения USER рекомендуется использовать значение SCHEMA. В значении аргумента TYPE следует указывать тип SCHEMA в качестве типа уровня 0 и TYPE в качестве типа уровня 1.

  • { default | '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 AdventureWorks;
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  AdventureWorks Sample OLTP Database

(1 row(s) affected)

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

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

USE AdventureWorks;
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 row(s) affected)

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

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

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