sys.fn_listextendedproperty (Transact-SQL)

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

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

Соглашения о синтаксисе 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
  • СХЕМА
  • СЛУЖБА
  • ТРИГГЕР
  • ТИП
  • Пользователь
  • 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 или имя объекта.

{ по умолчанию | 'level1_object_type' | NULL }
Тип объекта уровня 1. level1_object_type — varchar(128) с значением NULL по умолчанию.
Допустимые входные значения:

  • AGGREGATE
  • ПО УМОЛЧАНИЮ
  • FUNCTION
  • ИМЯ ЛОГИЧЕСКОГО ФАЙЛА
  • PROCEDURE
  • ОЧЕРЕДЬ
  • ПРАВИЛО
  • SYNONYM
  • TABLE
  • ТИП
  • ВИД
  • XML SCHEMA COLLECTION
  • NULL

Заметка

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

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

{ по умолчанию | 'level2_object_type' |NULL }
Тип объекта уровня 2. level2_object_type — varchar(128) с значением NULL по умолчанию.
Допустимые входные значения:

  • ПО УМОЛЧАНИЮ
  • по умолчанию (сопоставляется с NULL)
  • NULL. Допустимые входные данные для level2_object_type :
  • СТОЛБЕЦ
  • ОГРАНИЧЕНИЯ
  • EVENT NOTIFICATION
  • ИНДЕКС
  • ПАРАМЕТР
  • ТРИГГЕР
  • 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)

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

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

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

См. также

sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)