다음을 통해 공유


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

반환되는 테이블이 비어 있는 경우는 개체에 확장 속성이 없거나 사용자에게 개체의 확장 속성을 나열할 수 있는 권한이 없기 때문입니다. 데이터베이스 자체의 확장 속성을 반환하는 경우 objtypeobjname 열은 NULL이 됩니다.

주의

property_name 값이 NULL이거나 기본값인 경우 fn_listextendedproperty는 지정된 개체에 대한 모든 속성을 반환합니다.

개체 유형을 지정했으며 해당 개체 이름 값이 NULL 또는 기본값인 경우 fn_listextendedproperty는 지정된 유형의 모든 개체에 대한 확장 속성을 모두 반환합니다.

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

사용 권한

개체의 확장 속성을 나열하는 권한은 개체 유형에 따라 다릅니다. 사용 권한의 전체 목록은 데이터베이스 개체의 확장 속성 사용을 참조하십시오.

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

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

USE AdventureWorks;
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  AdventureWorks Sample OLTP Database

(1 row(s) affected)

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

다음 예에서는 ScrapReason 테이블의 열에 대한 확장 속성을 나열합니다. 이 속성은 Production 스키마에 포함되어 있습니다.

USE AdventureWorks;
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 AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO