NDEXPROPERTY(Transact-SQL)

적용 대상:SQL 서버Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric 의 SQL 분석 엔드포인트Microsoft Fabric 의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

지정한 테이블 ID, 인덱스 또는 통계 이름, 속성 이름에 대해 명명된 인덱스 또는 통계 속성 값을 반환합니다. XML 인덱스에 대한 반환 NULL 입니다.

Transact-SQL 구문 표기 규칙

구문

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)이며 다음 값 중 하나일 수 있습니다.

참고

달리 명시하지 않는 한 속성 NULL 이 유효한 속성 이름이 아니거나, object_ID 유효한 개체 ID가 아니거나, object_ID 지정된 속성에 대해 지원되지 않는 개체 형식이거나, 호출자에게 개체의 메타데이터를 볼 수 있는 권한이 없는 경우 반환됩니다.

속성 설명 값
IndexDepth 인덱스의 깊이입니다. 인덱스 수준의 수입니다.

NULL = XML 인덱스 또는 입력이 잘못되었습니다.
IndexFillFactor 인덱스를 만들거나 최근에 다시 만들 때 사용한 채우기 비율 값입니다. 채우기 비율
IndexID 지정한 테이블 또는 인덱싱된 뷰에 대한 인덱스의 ID입니다. 인덱스 ID
IsAutoStatistics 통계는 .의 AUTO_CREATE_STATISTICS옵션에 ALTER DATABASE 의해 생성되었습니다. 1 = 참
0 = False 또는 XML 인덱스입니다.
IsClustered 인덱스가 클러스터형입니다. 1 = 참
0 = False 또는 XML 인덱스입니다.
IsDisabled 인덱스가 비활성화되었습니다. 1 = 참
0 = 거짓
NULL = 입력이 잘못되었습니다.
IsFulltextKey 인덱스가 테이블의 전체 텍스트 및 의미 체계 인덱싱 키입니다. 1 = 참
0 = False 또는 XML 인덱스입니다.
NULL = 입력이 잘못되었습니다.
IsHypothetical 인덱스는 가상이며 데이터 액세스 경로로 직접 사용할 수 없습니다. 가상 인덱스는 열 수준 통계를 보유하며 데이터베이스 엔진 튜닝 관리자에서 유지 관리 및 사용됩니다. 1 = 참
0 = False 또는 XML 인덱스
NULL = 입력이 잘못되었습니다.
IsPadIndex 인덱스가 각 하위 노드에 남겨 둘 빈 공간을 지정합니다. 1 = 참
0 = False 또는 XML 인덱스입니다.
IsPageLockDisallowed 옵션으로 설정된 ALLOW_PAGE_LOCKS 페이지 잠금 값입니다 ALTER INDEX. 1 = 페이지 잠금이 허용되지 않습니다.
0 = 페이지 잠금이 허용됩니다.
NULL = 입력이 잘못되었습니다.
IsRowLockDisallowed 의 옵션ALLOW_ROW_LOCKS으로 ALTER INDEX 설정된 행 잠금 값입니다. 1 = 행 잠금이 허용되지 않습니다.
0 = 행 잠금이 허용됩니다.
NULL = 입력이 잘못되었습니다.
IsStatistics index_or_statistics_name 문 또는 옵션에 의해 CREATE STATISTICSAUTO_CREATE_STATISTICS 생성된 통계입니다 ALTER DATABASE. 1 = 참
0 = False 또는 XML 인덱스입니다.
IsUnique 인덱스가 고유합니다. 1 = 참
0 = False 또는 XML 인덱스입니다.
IsColumnstore 인덱스는 메모리 최적화 columnstore 인덱스입니다. 1 = 참
0 = 거짓

적용 대상: SQL Server 2012(11.x) 이상 버전
IsOptimizedForSequentialKey 인덱스에 대해 마지막 페이지 삽입 최적화가 사용됩니다. 1 = 참
0 = 거짓

적용 대상: SQL Server 2019(15.x) 이상 버전

반환 형식

int

예외

오류가 발생하거나 호출자에게 개체를 볼 수 있는 권한이 없는 경우 반환 NULL 합니다.

사용자는 사용자가 소유하거나 사용자에게 사용 권한이 부여된 보안 개체의 메타데이터만 볼 수 있습니다. 즉, 사용자에게 개체에 대한 권한이 없는 경우 메타데이터 내보내기, 기본 제공 함수 등의 INDEXPROPERTY 함수가 반환 NULL 될 수 있습니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하세요.

예제

이 글의 코드 샘플은 Azure Data SQL Samples Repository GitHub 저장소에서 다운로드할 수 있는 , , AdventureWorksDW2025또는 AdventureWorksLT2025 샘플 데이터베이스를 사용합니다AdventureWorks2025.

A. Employee 테이블의 인덱스 속성 반환

다음 예시는 AdventureWorks2025 IsClusteredIndexDepth 데이터베이스에서 테이블의 IndexFillFactor 인덱스 , 속성 PK_Employee_BusinessEntityID 값을 반환합니다Employee.

SELECT
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IsClustered') AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexDepth') AS [Index Depth],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexFillFactor') AS [Fill Factor];

결과 집합은 다음과 같습니다.

Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1            2           0

예제: Azure Synapse Analytics

B. FactResellerSales 테이블의 인덱스에 대한 속성 반환

다음 예는 FactResellerSales 테이블의 색인 중 하나의 속성을 검사합니다.

SELECT
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];
GO