sys.fn_listextendedproperty (Transact-SQL)

Применимо к: даSQL Server (все поддерживаемые версии) ДаБаза данных 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 }   
  )   

Аргументы

{Default | 'property_name' | ЗАКАНЧИВАЮЩ
Имя свойства. property_name имеет тип sysname. Допустимыми входными значениями являются default, NULL или имя свойства.

{Default | 'level0_object_type' | ЗАКАНЧИВАЮЩ
Пользователь или тип, определяемый пользователем. 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
  • Пользователь
  • NULL

Важно!

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

{Default | 'level0_object_name' | ЗАКАНЧИВАЮЩ
Имя указанного типа объекта уровня 0. Аргумент level0_object_name имеет тип sysname и значение по умолчанию NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.

{Default | 'level1_object_type' | ЗАКАНЧИВАЮЩ
Тип объекта уровня 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' | ЗАКАНЧИВАЮЩ
Имя указанного типа объекта уровня 1. Аргумент level1_object_name имеет тип sysname и значение по умолчанию NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.

{Default | 'level2_object_type' | ЗАКАНЧИВАЮЩ
Тип объекта уровня 2. level2_object_type имеет тип varchar (128) и значение по умолчанию NULL.
Допустимые входные значения:

  • DEFAULT
  • по умолчанию (сопоставляется со значением NULL)
  • NULL. Допустимые входные данные для level2_object_type :
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • ПАРАМЕТР
  • TRIGGER
  • NULL

{Default | 'level2_object_name' | ЗАКАНЧИВАЮЩ
Имя указанного типа объекта уровня 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 или значение по умолчанию. В противном случае функция возвращает пустой результирующий набор.

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';  

Разрешения

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

Примеры

A. Отображение расширенных свойств базы данных

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

USE AdventureWorks2012;  
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)

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

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

USE AdventureWorks2012;  
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 AdventureWorks2012;  
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)