다음을 통해 공유


CREATE XML INDEX(선택적 XML 인덱스)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

기존 선택적 XML 인덱스로 이미 인덱싱된 단일 경로에서 새 보조 선택적 XML 인덱스를 만듭니다. 또한 주 선택적 XML 인덱스를 만들 수도 있습니다. 자세한 내용은 선택적 XML 인덱스 만들기, 변경 및 삭제를 참조하세요.

Transact-SQL 구문 표기 규칙

구문

CREATE XML INDEX index_name  
    ON <table_object> ( xml_column_name )  
    USING XML INDEX sxi_index_name  
    FOR ( <xquery_or_sql_values_path> )  
    [WITH ( <index_options> )]  
  
<table_object> ::=   
{ database_name.schema_name.table_name | schema_name.table_name | table_name }  
  
<xquery_or_sql_values_path>::=   
<path_name>   
  
<path_name> ::=   
character string literal  
  
<xmlnamespace_list> ::=   
<xmlnamespace_item> [, <xmlnamespace_list>]  
  
<xmlnamespace_item> ::=   
xmlnamespace_uri AS xmlnamespace_prefix  
  
<index_options> ::=   
(    
  | PAD_INDEX  = { ON | OFF }  
  | FILLFACTOR = fillfactor  
  | SORT_IN_TEMPDB = { ON | OFF }  
  | IGNORE_DUP_KEY = OFF  
  | DROP_EXISTING = { ON | OFF }  
  | ONLINE = OFF  
  | ALLOW_ROW_LOCKS = { ON | OFF }  
  | ALLOW_PAGE_LOCKS = { ON | OFF }  
  | MAXDOP = max_degree_of_parallelism  
)  

인수

index_name
만들 새 인덱스의 이름입니다. 인덱스 이름은 테이블에서 고유해야 하지만 데이터베이스 내에서 고유할 필요는 없습니다. 인덱스 이름은 식별자 규칙을 따라야 합니다.

ON <table_object> 인덱싱할 XML 열이 포함된 테이블입니다. 다음 형식을 사용할 수 있습니다.

  • database_name.schema_name.table_name

  • database_name..table_name

  • schema_name.table_name

xml_column_name
인덱싱할 경로가 포함된 XML 열의 이름입니다.

USING XML INDEX sxi_index_name
기존 선택적 XML 인덱스의 이름입니다.

FOR (<xquery_or_sql_values_path>) 보조 선택적 XML 인덱스를 만드는 인덱싱된 경로의 이름입니다. 인덱싱할 경로는 CREATE SELECTIVE XML INDEX 문에서 할당된 이름입니다. 자세한 내용은 CREATE SELECTIVE XML INDEX(Transact-SQL)를 참조하세요.

WITH <index_options> 인덱스 옵션에 대한 자세한 내용은 CREATE XML INDEX를 참조하세요.

설명

기본 테이블의 각 XML 열에는 여러 개의 보조 선택적 XML 인덱스가 있을 수 있습니다.

제한 사항

XML 열에 선택적 XML 인덱스가 있어야 이 열에 보조 선택적 XML 인덱스를 만들 수 있습니다.

보안

사용 권한

테이블이나 뷰에 대한 ALTER 권한이 필요합니다. 사용자는 sysadmin 고정 서버 역할의 멤버 또는 db_ddladmindb_owner 고정 데이터베이스 역할의 멤버여야 합니다.

예제

다음 예에서는 pathabc경로에서 보조 선택적 XML 인덱스를 만듭니다. 인덱싱할 경로는 CREATE SELECTIVE XML INDEX(Transact-SQL)에서 할당된 이름입니다.

CREATE XML INDEX filt_sxi_index_c  
ON Tbl(xmlcol)  
USING XML INDEX sxi_index  
FOR ( pathabc );  

참고 항목

SXI(선택적 XML 인덱스)
보조 선택적 XML 인덱스 만들기, 변경 및 삭제