sys.fn_listextendedproperty(Transact-SQL)

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

항목 링크 아이콘 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은 varchar(128)이며 기본값은 NULL입니다. 유효한 입력은 ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER 및 NULL입니다.

    중요 정보중요

    수준 0 유형 USER와 TYPE은 나중 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. USER 대신 SCHEMA를 수준 0 유형으로 사용합니다. TYPE의 경우 수준 0 유형으로 SCHEMA를 사용하고 수준 1 유형으로 TYPE을 사용합니다.

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

  • { default | 'level1_object_type' | NULL }
    수준 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' |NULL }
    지정된 수준 1 개체 유형의 이름입니다. level1_object_name은 sysname이며 기본값은 NULL입니다. 유효한 입력은 기본값, NULL, 개체 이름입니다.

  • { default | 'level2_object_type' |NULL }
    수준 2 개체의 유형입니다. level2_object_type은 varchar(128)이며 기본값은 NULL입니다. 유효한 입력은 DEFAULT, 기본값(NULL에 매핑됨) 및 NULL입니다. level2_object_type 에 대한 유효한 입력은 COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER 및 NULL입니다.

  • { default | 'level2_object_name' |NULL }
    지정된 수준 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는 지정된 유형의 모든 개체에 대한 확장 속성을 모두 반환합니다.

개체는 수준에 따라 구분하는데 수준 0은 최고, 수준 2는 최저를 나타냅니다. 더 낮은 수준의 개체(수준 1 또는 2) 유형과 이름을 지정한 경우에는 NULL이나 기본값이 아닌 부모 개체 유형 및 이름을 지정해야 합니다. 그렇지 않으면 빈 결과 집합을 반환합니다.

사용 권한

개체의 확장 속성을 나열하는 권한은 개체 유형에 따라 다릅니다.

1.데이터베이스의 확장 속성 표시

다음 예에서는 데이터베이스 개체 자체에 설정된 모든 확장 속성을 표시합니다.

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)

2.테이블에 있는 모든 열의 확장 속성 표시

다음 예에서는 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)

3.스키마에 있는 모든 테이블의 확장 속성 표시

다음 예에서는 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)