적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 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)이며 다음 값 중 하나일 수 있습니다.
참고
달리 명시하지 않는 한 속성 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