fn_listextendedproperty (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