Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает значения расширенных свойств объектов базы данных.
Соглашения о синтаксисе 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 }
)
Аргументы
{ по умолчанию | 'property_name' | NULL}
Имя свойства.
property_name — sysname. Допустимыми входными значениями являются default, NULL или имя свойства.
{ по умолчанию | 'level0_object_type' | NULL}
Пользователь или тип, определяемый пользователем.
level0_object_type — varchar(128) с значением NULL по умолчанию.
Допустимые входные значения:
- ASSEMBLY
- CONTRACT
- EVENT NOTIFICATION
- ФАЙЛОВАЯ ГРУППА
- MESSAGE TYPE
- PARTITION FUNCTION
- PARTITION SCHEME
- REMOTE SERVICE BINDING
- ROUTE
- SCHEMA
- SERVICE
- TRIGGER
- TYPE
- USER
- NULL
Внимание
USER и TYPE как типы уровня 0 будут удалены в будущей версии SQL Server. Старайтесь не использовать эти функции в новых разработках и предусмотрите соответствующие изменения в приложениях, которые используют их в настоящее время. Вместо него SCHEMAиспользуйте USER тип уровня 0. Для TYPEэтого используйте SCHEMA в качестве типа уровня 0 и TYPE в качестве типа уровня 1.
{ по умолчанию | 'level0_object_name' | NULL }
Имя указанного типа объекта уровня 0.
level0_object_name — sysname с значением NULL по умолчанию. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.
{ по умолчанию | 'level1_object_type' | NULL }
Тип объекта уровня 1.
level1_object_type — varchar(128) с значением NULL по умолчанию.
Допустимые входные значения:
- AGGREGATE
- DEFAULT
- FUNCTION
- ИМЯ ЛОГИЧЕСКОГО ФАЙЛА
- PROCEDURE
- QUEUE
- RULE
- SYNONYM
- TABLE
- TYPE
- VIEW
- XML SCHEMA COLLECTION
- NULL
Примечание.
По умолчанию отображаются в NULL, а «по умолчанию» — в тип DEFAULTобъекта.
{по умолчанию | 'level1_object_name' |NULL }
Имя указанного типа объекта уровня 1.
level1_object_name — sysname с значением NULL по умолчанию. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.
{ по умолчанию | 'level2_object_type' |NULL }
Тип объекта уровня 2.
level2_object_type — varchar(128) с значением NULL по умолчанию.
Допустимые входные значения:
- DEFAULT
- по умолчанию (сопоставляется с NULL)
- NULL. Допустимые входные данные для level2_object_type :
- СТОЛБЕЦ
- ОГРАНИЧЕНИЯ
- EVENT NOTIFICATION
- INDEX
- ПАРАМЕТР
- TRIGGER
- NULL
{ по умолчанию | 'level2_object_name' |NULL }
Имя указанного типа объекта уровня 2.
level2_object_name — sysname с значением NULL по умолчанию. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.
Возвращаемые таблицы
Это формат таблиц, возвращаемых функцией fn_listextendedproperty.
| Имя столбца | Тип данных |
|---|---|
| objtype | sysname |
| objname | sysname |
| name | sysname |
| значение | sql_variant |
Возвращение пустой таблицы означает отсутствие у объекта расширенных свойств или отсутствие у пользователя разрешений на просмотр этих свойств. При возвращении расширенных свойств самой базы данных столбцы objtype и objname принимают значения NULL.
Замечания
Если значение для property_name равно NULL или по умолчанию, fn_listextendedproperty возвращает все свойства для указанного объекта.
Если указан тип объекта, а значение, соответствующее имени объекта, равно NULL или значению по умолчанию, функция fn_listextendedproperty возвращает все расширенные свойства всех объектов заданного типа.
Объекты различаются по уровню: нулевой уровень является наивысшим, а второй — низшим. Если для объекта низкого уровня (1 или 2) указаны тип и имя, то для родительского объекта значения типа и имени не могут иметь значение NULL или значение по умолчанию. В противном случае функция возвращает пустой результирующий набор.
objname исправлен как Latin1_General_CI_AI. Однако это можно обойти, переопределив параметры сортировки в сравнении.
SELECT o.[object_id] AS 'table_id', o.[name] 'table_name',
0 AS 'column_order', NULL AS 'column_name', NULL AS 'column_datatype',
NULL AS 'column_length', Cast(e.value AS varchar(500)) AS 'column_description'
FROM AdventureWorks.sys.objects AS o
LEFT JOIN sys.fn_listextendedproperty(N'MS_Description', N'user',N'HumanResources',N'table', N'Employee', null, default) AS e
ON o.name = e.objname COLLATE SQL_Latin1_General_CP1_CI_AS
WHERE o.name = 'Employee';
Разрешения
Разрешения на просмотр расширенных свойств объектов зависят от типов объектов.
Примеры
А. Отображение расширенных свойств базы данных
В следующем примере выводится полный набор расширенных свойств объекта базы данных.
USE AdventureWorks2022;
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 row(s) affected)
B. Отображение расширенных свойств для всех столбцов таблицы
В следующем примере перечислены расширенные свойства столбцов в ScrapReason таблице. Она хранится в схеме Production.
USE AdventureWorks2022;
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 AdventureWorks2022;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO