sys.fn_listextendedproperty(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
데이터베이스 개체의 확장 속성 값을 반환합니다.
구문
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
- FILEGROUP
- MESSAGE TYPE
- PARTITION FUNCTION
- PARTITION SCHEME
- REMOTE SERVICE BINDING
- ROUTE
- SCHEMA
- SERVICE
- 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
- 논리적 파일 이름
- PROCEDURE
- 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
- 제약 조건
- EVENT NOTIFICATION
- INDEX
- 매개 변수
- TRIGGER
- NULL
{ default | 'level2_object_name' |NULL }
지정된 수준 2 개체 형식의 이름입니다. level2_object_name 기본값이 NULL인 sysname입니다. 유효한 입력은 기본값, 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 또는 기본값이 아닌 값이 지정되어야 합니다. 그렇지 않으면 함수는 빈 결과 집합을 반환합니다.
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)