sys.fn_listextendedproperty (Transact-SQL)sys.fn_listextendedproperty (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Возвращает значения расширенных свойств объектов базы данных.Returns extended property values of database objects.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

  
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 }   
  )   

АргументыArguments

{значение по умолчанию | "property_name" | NULL}{ default | 'property_name' | NULL}
Имя свойства.Is the name of the property. property_namesysname.property_name is sysname. Допустимыми входными значениями являются default, NULL или имя свойства.Valid inputs are default, NULL, or a property name.

{значение по умолчанию | "level0_object_type" | NULL}{ default | 'level0_object_type' | NULL}
Пользователь или тип, определяемый пользователем.Is the user or user-defined type. level0_object_typevarchar(128) , значение по умолчанию NULL.level0_object_type is varchar(128), with a default of NULL. Допустимые входные значения: ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER и значение NULL.Valid inputs are ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER, and NULL.

Важно!

Типы USER и TYPE уровня 0 будут удалены в будущих версиях SQL ServerSQL Server.USER and TYPE as level-0 types will be removed in a future version of SQL ServerSQL Server. Старайтесь не использовать эти функции в новых разработках и предусмотрите соответствующие изменения в приложениях, которые используют их в настоящее время.Avoid using these features in new development work, and plan to modify applications that currently use these features. Тип SCHEMA следует использовать в качестве типа уровня 0 вместо USER.Use SCHEMA as the level 0 type instead of USER. В значении аргумента TYPE следует указывать тип SCHEMA в качестве типа уровня 0 и TYPE в качестве типа уровня 1.For TYPE, use SCHEMA as the level 0 type and TYPE as the level 1 type.

{значение по умолчанию | "level0_object_name" | NULL}{ default | 'level0_object_name' | NULL }
Имя указанного типа объекта уровня 0.Is the name of the level 0 object type specified. level0_object_namesysname значение по умолчанию NULL.level0_object_name is sysname with a default of NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.Valid inputs are default, NULL, or an object name.

{значение по умолчанию | "level1_object_type" | NULL}{ default | 'level1_object_type' | NULL }
Тип объекта уровня 1.Is the type of level 1 object. level1_object_typevarchar(128) значение по умолчанию NULL.level1_object_type is varchar(128) with a default of NULL. Допустимые входные значения: AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION и NULL.Valid inputs are AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION, and NULL.

Примечание

Значение по умолчанию сопоставлено значению NULL, и значение «default» сопоставлено типу объектов DEFAULT.Default maps to NULL and 'default' maps to the object type DEFAULT.

{значение по умолчанию | "level1_object_name" | NULL}{default | 'level1_object_name' |NULL }
Имя указанного типа объекта уровня 1.Is the name of the level 1 object type specified. level1_object_namesysname значение по умолчанию NULL.level1_object_name is sysname with a default of NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.Valid inputs are default, NULL, or an object name.

{значение по умолчанию | "level2_object_type" | NULL}{ default | 'level2_object_type' |NULL }
Тип объекта уровня 2.Is the type of level 2 object. level2_object_typevarchar(128) значение по умолчанию NULL.level2_object_type is varchar(128) with a default of NULL. Допустимыми входными значениями являются DEFAULT, значение по умолчанию (сопоставленное значению NULL) и значение NULL.Valid inputs are DEFAULT, default (maps to NULL), and NULL. Допустимыми входными значениями для level2_object_type СТОЛБЦА, ограничения, уведомления о СОБЫТИИ, ИНДЕКСА, параметр, ТРИГГЕРА и NULL.Valid inputs for level2_object_type are COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER, and NULL.

{значение по умолчанию | "level2_object_name" | NULL}{ default | 'level2_object_name' |NULL }
Имя указанного типа объекта уровня 2.Is the name of the level 2 object type specified. level2_object_namesysname значение по умолчанию NULL.level2_object_name is sysname with a default of NULL. Допустимыми входными значениями являются значение по умолчанию, NULL или имя объекта.Valid inputs are default, NULL, or an object name.

Возвращаемые таблицыTables Returned

Это формат таблиц, возвращаемых функцией fn_listextendedproperty.This is the format of the tables returned by fn_listextendedproperty.

Имя столбцаColumn name Тип данныхData type
objtypeobjtype sysnamesysname
objnameobjname sysnamesysname
namename sysnamesysname
valuevalue sql_variantsql_variant

Возвращение пустой таблицы означает отсутствие у объекта расширенных свойств или отсутствие у пользователя разрешений на просмотр этих свойств.If the table returned is empty, either the object does not have extended properties or the user does not have permissions to list the extended properties on the object. При возвращении расширенных свойств самой базы данных столбцы objtype и objname принимают значения NULL.When returning extended properties on the database itself, the objtype and objname columns will be NULL.

ПримечанияRemarks

Если значение для property_name имеет значение NULL или значение по умолчанию, функция fn_listextendedproperty возвращает все свойства для указанного объекта.If the value for property_name is NULL or default, fn_listextendedproperty returns all the properties for the specified object.

Если указан тип объекта, а значение, соответствующее имени объекта, равно NULL или значению по умолчанию, функция fn_listextendedproperty возвращает все расширенные свойства всех объектов заданного типа.When the object type is specified and the value of the corresponding object name is NULL or default, fn_listextendedproperty returns all extended properties for all objects of the type specified.

Объекты различаются по уровню: нулевой уровень является наивысшим, а второй — низшим.The objects are distinguished according to levels, with level 0 as the highest and level 2 the lowest. Если для объекта низкого уровня (1 или 2) указаны тип и имя, то для родительского объекта значения типа и имени не могут иметь значение NULL или значение по умолчанию.If a lower-level object, level 1 or 2, type and name are specified, the parent object type and name should be given values that are not NULL or default. В противном случае функция возвращает пустой результирующий набор.Otherwise, the function returns an empty result set.

ObjName фиксируется как Latin1_General_CI_AI.objname is fixed as Latin1_General_CI_AI. Тем не менее вы можете устранить эту путем переопределения параметров сортировки для сравнения.However you can workaround this by overriding collation in comparison.

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

РазрешенияPermissions

Разрешения на просмотр расширенных свойств объектов зависят от типов объектов.Permissions to list extended properties of objects vary by object type.

ПримерыExamples

A.A. Отображение расширенных свойств базы данныхDisplaying extended properties on a database

В следующем примере выводится полный набор расширенных свойств объекта базы данных.The following example displays all extended properties set on the database object itself.

USE AdventureWorks2012;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty(default, default, default, default, default, default, default);  
GO  

Ниже приводится результирующий набор.Here is the result set.

objtype objname name value

--------- --------- ----------- ----------------------------

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

Б.B. Отображение расширенных свойств для всех столбцов таблицыDisplaying extended properties on all columns in a table

В следующем примере перечисляются расширенные свойства для столбцов в ScrapReason таблицы.The following example lists extended properties for columns in the ScrapReason table. Она хранится в схеме Production.This is contained in the schema Production.

USE AdventureWorks2012;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);  
GO  

Ниже приводится результирующий набор.Here is the result set.

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. Отображение расширенных свойств для всех таблиц схемыDisplaying extended properties on all tables in a schema

В следующем примере перечисляются расширенные свойства для всех таблиц, содержащихся в Sales схемы.The following example lists extended properties for all tables contained in the Sales schema.

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

См. такжеSee Also

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