NDEXPROPERTY(Transact-SQL)
지정한 테이블 ID, 인덱스 또는 통계 이름, 속성 이름에 대해 명명된 인덱스 또는 통계 속성 값을 반환합니다. XML 인덱스에 대해서는 NULL을 반환합니다.
구문
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
인수
object_ID
인덱스 속성 정보를 제공할 테이블 또는 인덱싱된 뷰의 개체 ID가 포함된 식입니다. object_ID는 int입니다.index_or_statistics_name
속성 정보를 반환할 인덱스 또는 통계의 이름이 포함된 식입니다. index_or_statistics_name은 nvarchar(128)입니다.property
반환할 데이터베이스 속성의 이름이 포함된 식입니다. property는 varchar(128)이며 다음 값 중 하나일 수 있습니다.[!참고]
달리 언급하지 않는 한 property가 유효한 속성 이름이 아니거나, object_ID가 유효한 개체 ID가 아니거나, object_ID가 지정된 속성에 대해 지원되지 않는 개체 유형이거나 또는 호출자가 개체의 메타데이터를 볼 수 있는 권한이 없는 경우에는 NULL이 반환됩니다.
속성
설명
값
IndexDepth
인덱스의 깊이입니다.
인덱스 수준의 수
NULL = XML 인덱스이거나 입력이 잘못되었습니다.
IndexFillFactor
인덱스를 만들거나 최근에 다시 만들 때 사용한 채우기 비율 값입니다.
채우기 비율
IndexID
지정한 테이블 또는 인덱싱된 뷰에 대한 인덱스의 ID입니다.
Index ID
IsAutoStatistics
통계가 ALTER DATABASE의 AUTO_CREATE_STATISTICS 옵션으로 생성되었습니다.
1 = True
0 = False 또는 XML 인덱스
IsClustered
인덱스가 클러스터형입니다.
1 = True
0 = False 또는 XML 인덱스
IsDisabled
인덱스가 비활성화되었습니다.
1 = True
0 = False
NULL = 입력이 잘못되었습니다.
IsFulltextKey
인덱스가 테이블의 전체 텍스트 키입니다.
1 = True
0 = False 또는 XML 인덱스
NULL = 입력이 잘못되었습니다.
IsHypothetical
인덱스가 가상 인덱스이며 데이터 액세스 경로로 직접 사용할 수 없습니다. 가상 인덱스는 열 수준 통계를 보유하며 데이터베이스 엔진 튜닝 관리자에서 유지 관리 및 사용됩니다.
1 = True
0 = False 또는 XML 인덱스
NULL = 입력이 잘못되었습니다.
IsPadIndex
인덱스가 각 하위 노드에 남겨 둘 빈 공간을 지정합니다.
1 = True
0 = False 또는 XML 인덱스
IsPageLockDisallowed
ALTER INDEX의 ALLOW_PAGE_LOCKS 옵션으로 설정된 페이지 잠금 값입니다.
1 = 페이지 잠금이 허용되지 않습니다.
0 = 페이지 잠금이 허용됩니다.
NULL = 입력이 잘못되었습니다.
IsRowLockDisallowed
ALTER INDEX의 ALLOW_ROW_LOCKS 옵션으로 설정된 행 잠금 값입니다.
1 = 행 잠금이 허용되지 않습니다.
0 = 행 잠금이 허용됩니다.
NULL = 입력이 잘못되었습니다.
IsStatistics
index_or_statistics_name은 CREATE STATISTICS 문 또는 ALTER DATABASE의 AUTO_CREATE_STATISTICS 옵션으로 생성된 통계입니다.
1 = True
0 = False 또는 XML 인덱스
IsUnique
인덱스가 고유합니다.
1 = True
0 = False 또는 XML 인덱스
반환 유형
int
예외
오류가 발생하거나 호출자가 개체를 볼 수 있는 권한을 갖고 있지 않으면 NULL을 반환합니다.
사용자는 소유하고 있거나 사용 권한을 부여 받은 보안 개체의 메타데이터만 볼 수 있습니다. 즉, 사용자가 개체에 대한 사용 권한이 없으면 INDEXPROPERTY와 같은 메타데이터 내보내기 기본 제공 함수가 NULL을 반환합니다. 자세한 내용은 메타데이터 표시 유형 구성 및 메타데이터 표시 문제 해결을 참조하십시오.
예
다음 예에서는 Employee 테이블의 PK_Employee_EmployeeID 인덱스에 대한 IsClustered, IndexDepth 및 IndexFillFactor 속성 값을 반환합니다.
USE AdventureWorks;
GO
SELECT
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IsClustered')AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IndexDepth') AS [Index Depth],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_EmployeeID','IndexFillFactor') AS [Fill Factor];
GO
결과 집합은 다음과 같습니다.
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
(1 row(s) affected)