sys.fn_listextendedproperty(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)