sys.fn_listextendedproperty(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

데이터베이스 개체의 확장 속성 값을 반환합니다.

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 기본값이 NULL인 varchar(128)입니다.
잘못된 입력:

  • ASSEMBLY
  • CONTRACT
  • EVENT NOTIFICATION
  • 파일
  • MESSAGE TYPE
  • PARTITION FUNCTION
  • PARTITION SCHEME
  • REMOTE SERVICE BINDING
  • ROUTE
  • SCHEMA
  • 서비스
  • TRIGGER
  • TYPE
  • USER
  • NULL

Important

USER 및 TYPE as level-0 형식은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. SCHEMA를 USER 대신 수준 0 형식으로 사용합니다. TYPE의 경우 수준 0 형식으로 SCHEMA를 사용하고 TYPE을 수준 1 형식으로 사용합니다.

{ default | 'level0_object_name' | NULL }
지정된 수준 0 개체 형식의 이름입니다. level0_object_name 기본값이 NULL인 sysname입니다. 유효한 입력은 기본값, NULL 또는 개체 이름입니다.

{ default | 'level1_object_type' | NULL }
수준 1 개체의 유형입니다. level1_object_type 기본값이 NULL인 varchar(128)입니다.
잘못된 입력:

  • AGGREGATE
  • DEFAULT
  • FUNCTION
  • 논리적 파일 이름
  • 절차
  • QUEUE
  • RULE
  • SYNONYM
  • TABLE
  • TYPE
  • VIEW
  • XML SCHEMA COLLECTION
  • NULL

참고 항목

기본값은 NULL에 매핑되고 'default'는 개체 형식 DEFAULT에 매핑됩니다.

{default | 'level1_object_name' |NULL }
지정된 수준 1 개체 형식의 이름입니다. level1_object_name 기본값이 NULL인 sysname입니다. 유효한 입력은 기본값, NULL 또는 개체 이름입니다.

{ default | 'level2_object_type' |NULL }
수준 2 개체의 유형입니다. level2_object_type 기본값이 NULL인 varchar(128)입니다.
잘못된 입력:

  • DEFAULT
  • default(NULL에 매핑)
  • NULL level2_object_type 유효한 입력은 다음과 같습니다.
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • 매개 변수
  • TRIGGER
  • NULL

{ default | 'level2_object_name' |NULL }
지정된 수준 2 개체 형식의 이름입니다. level2_object_name 기본값이 NULL인 sysname입니다. 유효한 입력은 기본값, NULL 또는 개체 이름입니다.

반환된 테이블

fn_listextendedproperty 반환된 테이블의 형식입니다.

열 이름 데이터 형식
objtype sysname
objname sysname
이름 sysname
value sql_variant

반환된 테이블이 비어 있으면 개체에 확장 속성이 없거나 사용자에게 개체의 확장 속성을 나열할 수 있는 권한이 없습니다. 데이터베이스 자체에서 확장 속성을 반환하는 경우 objtype 및 objname 열은 NULL이 됩니다.

설명

property_name이 NULL이거나 기본값이면 fn_listextendedproperty 지정된 개체의 모든 속성을 반환합니다.

개체 형식이 지정되고 해당 개체 이름의 값이 NULL 또는 기본값이면 fn_listextendedproperty 지정된 형식의 모든 개체에 대한 모든 확장 속성을 반환합니다.

개체는 수준에 따라 구분하는데 수준 0은 최고, 수준 2는 최저를 나타냅니다. 하위 수준 개체인 수준 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 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)