다음을 통해 공유


NDEXPROPERTY(Transact-SQL)

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

적용 대상: SQL Server(SQL Server 2008 - current version), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스)

항목 링크 아이콘 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)이며 다음 값 중 하나일 수 있습니다.

    참고

    달리 언급하지 않는 한 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 = 입력이 잘못되었습니다.

    적용 대상: SQL Server 2008부터 SQL Server 2014까지

    IsHypothetical

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

    1 = True

    0 = False 또는 XML 인덱스

    NULL = 입력이 잘못되었습니다.

    IsPadIndex

    인덱스가 각 하위 노드에 남겨 둘 빈 공간을 지정합니다.

    1 = True

    0 = False 또는 XML 인덱스

    적용 대상: SQL Server 2008부터 SQL Server 2014까지

    IsPageLockDisallowed

    ALTER INDEX의 ALLOW_PAGE_LOCKS 옵션으로 설정된 페이지 잠금 값입니다.

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

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

    NULL = 입력이 잘못되었습니다.

    적용 대상: SQL Server 2008부터 SQL Server 2014까지

    IsRowLockDisallowed

    ALTER INDEX의 ALLOW_ROW_LOCKS 옵션으로 설정된 행 잠금 값입니다.

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

    0 = 행 잠금이 허용됩니다.

    NULL = 입력이 잘못되었습니다.

    적용 대상: SQL Server 2008부터 SQL Server 2014까지

    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 인덱스입니다.

    1 = True

    0 = False

    적용 대상: SQL Server 2012부터 SQL Server 2014까지

반환 형식

int

예외

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

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

다음 예에서는 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)

참고 항목

참조

CREATE INDEX(Transact-SQL)

sys.indexes(Transact-SQL)

sys.index_columns(Transact SQL)

sys.stats(Transact-SQL)

sys.stats_columns(Transact-SQL)

개념

통계