다음을 통해 공유


sp_indexes(Transact-SQL)

지정된 원격 테이블에 대한 인덱스 정보를 반환합니다.

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

구문

sp_indexes [ @table_server = ] 'table_server' 
     [ , [@table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_db' ] 
     [ , [ @index_name = ] 'index_name' ] 
     [ , [ @is_unique = ] 'is_unique' ]

인수

  • [ @table_server = ] 'table_server'
    테이블 정보가 요청된 SQL Server를 실행하는 연결된 서버의 이름입니다. table_server는 sysname이며 기본값은 없습니다.

  • [ @table_name = ] 'table_name'
    인덱스 정보를 제공할 원격 테이블의 이름입니다. table_name은 sysname이며 기본값은 NULL입니다. NULL을 지정한 경우에는 지정된 데이터베이스의 모든 테이블이 반환됩니다.

  • [ @table_schema = ] 'table_schema'
    테이블 스키마를 지정합니다. SQL Server 환경에서는 테이블 소유자에 해당됩니다. table_schema는 sysname이며 기본값은 NULL입니다.

  • [ @table_catalog = ] 'table_db'
    table_name이 있는 데이터베이스의 이름입니다. table_db는 sysname이며 기본값은 NULL입니다. NULL인 경우 table_db는 기본적으로 master가 됩니다.

  • [ @index_name = ] 'index_name'
    정보가 요청된 인덱스의 이름입니다. index는 sysname이며 기본값은 NULL입니다.

  • [ @is_unique = ] 'is_unique'
    정보가 반환될 인덱스의 유형입니다. is_unique는 bit이며 기본값은 NULL이고 다음 값 중 하나일 수 있습니다.

    설명

    1

    고유 인덱스에 관한 정보를 반환합니다.

    0

    고유하지 않은 인덱스에 관한 정보를 반환합니다.

    NULL

    모든 인덱스에 관한 정보를 반환합니다.

결과 집합

열 이름

데이터 형식

설명

TABLE_CAT

sysname

지정된 테이블이 있는 데이터베이스의 이름입니다.

TABLE_SCHEM

sysname

테이블의 스키마입니다.

TABLE_NAME

sysname

원격 테이블의 이름입니다.

NON_UNIQUE

smallint

인덱스가 고유한지의 여부입니다.

0 = 고유함

1 = 고유하지 않음

INDEX_QUALIFER

sysname

인덱스 소유자의 이름입니다. 일부 DBMS 제품은 테이블 소유자 이외의 사용자가 인덱스를 만들 수 있도록 허용합니다. SQL Server에서 이 열은 항상 TABLE_NAME과 같습니다.

INDEX_NAME

sysname

인덱스의 이름입니다.

TYPE

smallint

인덱스의 유형입니다.

0 = 테이블에 대한 통계

1 = 클러스터형

2 = 해시됨

3 = 기타

ORDINAL_POSITION

int

인덱스에 있는 열의 서수 위치입니다. 인덱스의 첫 번째 열은 1입니다. 이 열은 항상 값을 반환합니다.

COLUMN_NAME

sysname

반환된 TABLE_NAME의 각 열에 해당하는 열 이름입니다.

ASC_OR_DESC

varchar

데이터 정렬에 사용되는 순서입니다.

A = 오름차순

D = 내림차순

NULL = 해당 사항 없음

SQL Server는 항상 A를 반환합니다.

CARDINALITY

int

테이블의 열 번호 또는 인덱스의 고유한 값입니다.

PAGES

int

인덱스 또는 테이블을 저장할 페이지의 번호입니다.

FILTER_CONDITION

nvarchar(4000)

SQL Server는 값을 반환하지 않습니다.

사용 권한

스키마에 대한 SELECT 권한이 필요합니다.

다음 예에서는 연결된 서버 Seattle1에 있는 AdventureWorks 데이터베이스에서 Employees 테이블의 모든 인덱스 정보를 반환하는 방법을 보여 줍니다.

EXEC sp_indexes @table_server = 'Seattle1', 
   @table_name = 'Employee', 
   @table_schema = 'HumanResources',
   @table_catalog = 'AdventureWorks'