NDEXPROPERTY(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

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

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )   

참고

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

object_ID
인덱스 속성 정보를 제공할 테이블 또는 인덱싱된 뷰의 개체 ID가 포함된 식입니다. object_IDint 입니다.

index_or_statistics_name
속성 정보를 반환할 인덱스 또는 통계의 이름이 포함된 식입니다. index_or_statistics_namenvarchar(128) 입니다.

property
반환할 데이터베이스 속성의 이름이 포함된 식입니다. propertyvarchar(128) 이며 다음 값 중 하나일 수 있습니다.

참고

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

속성 Description
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 인덱스가 테이블의 전체 텍스트 및 의미 체계 인덱싱 키입니다. 적용 대상: SQL Server 2008 이상

1 = True

0 = False 또는 XML 인덱스

NULL = 입력이 잘못되었습니다.
IsHypothetical 인덱스가 가상 인덱스이며 데이터 액세스 경로로 직접 사용할 수 없습니다. 가상 인덱스는 열 수준 통계를 보유하며 데이터베이스 엔진 튜닝 관리자에서 유지 관리 및 사용됩니다. 1 = True

0 = False 또는 XML 인덱스

NULL = 입력이 잘못되었습니다.
IsPadIndex 인덱스가 각 하위 노드에 남겨 둘 빈 공간을 지정합니다. 적용 대상: SQL Server 2008 이상

1 = True

0 = False 또는 XML 인덱스
IsPageLockDisallowed ALTER INDEX의 ALLOW_PAGE_LOCKS 옵션으로 설정된 페이지 잠금 값입니다. 적용 대상: SQL Server 2008 이상

1 = 페이지 잠금이 허용되지 않습니다.

0 = 페이지 잠금이 허용됩니다.

NULL = 입력이 잘못되었습니다.
IsRowLockDisallowed ALTER INDEX의 ALLOW_ROW_LOCKS 옵션으로 설정된 행 잠금 값입니다. 적용 대상: SQL Server 2008 이상

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 인덱스
IsColumnstore 인덱스가 xVelocity 메모리 액세스에 최적화된 columnstore 인덱스입니다. 적용 대상: SQL Server 2012(11.x) 이상

1 = True

0 = False
IsOptimizedForSequentialKey 인덱스에 대해 마지막 페이지 삽입 최적화가 사용됩니다. 적용 대상: SQL Server 2019 (15.x) 이상

1 = True

0 = False

반환 형식

int

예외

오류가 발생하거나 호출자가 개체를 볼 수 있는 권한을 갖고 있지 않으면 NULL을 반환합니다.

사용자는 소유하고 있거나 사용 권한을 부여 받은 보안 개체의 메타데이터만 볼 수 있습니다. 즉, 사용자가 개체에 대한 사용 권한이 없으면 INDEXPROPERTY와 같은 메타데이터 내보내기 기본 제공 함수가 NULL을 반환합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

다음 예에서는 AdventureWorks2012 데이터베이스에 있는 Employee 테이블의 PK_Employee_BusinessEntityID 인덱스에 대한 IsClustered, IndexDepthIndexFillFactor 속성 값을 반환합니다.

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  
  
(1 row(s) affected)  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

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

-- Uses AdventureWorks  
  
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  

참고 항목

CREATE INDEX(Transact-SQL)
통계
sys.indexes(Transact-SQL)
sys.index_columns(Transact-SQL)
sys.stats(Transact-SQL)
sys.stats_columns (Transact-SQL)