CREATE XML INDEX (índices XML selectivos)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Crea un nuevo índice XML selectivo secundario en una única ruta de acceso que ya está indizada por un índice XML selectivo existente. También puede crear índices XML selectivos principales. Para más información, vea Crear, modificar y quitar índices XML selectivos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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  
)  

Argumentos

index_name
Es el nombre del nuevo índice que se va a crear. Los nombres de índice deben ser únicos en una tabla, pero no es necesario que sean únicos en una base de datos. Los nombres de índice deben seguir las reglas de los identificadores.

ON <table_object> Es la tabla que contiene la columna XML que se va a indexar. Puede utilizar los formatos siguientes:

  • database_name.schema_name.table_name

  • database_name..table_name

  • schema_name.table_name

xml_column_name
Es el nombre de la columna XML que contiene la ruta de acceso que se va a indizar.

USING XML INDEX sxi_index_name
Es el nombre del índice XML selectivo existente.

FOR (<xquery_or_sql_values_path>) Es el nombre de la ruta de acceso indizada en la que se va a crear el índice XML selectivo secundario. La ruta de acceso que se va a indizar es el nombre asignado en la instrucción CREATE SELECTIVE XML INDEX. Para obtener más información, vea CREAR ÍNDICE XML SELECTIVO (Transact-SQL).

WITH <index_options> Para más información sobre las opciones de índice, vea CREATE XML INDEX.

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Comentarios

Puede haber varios índices XML selectivos secundarios en cada columna XML de la tabla base.

Limitaciones y restricciones

Debe existir un índice XML selectivo en una columna XML para poder crear índices XML selectivos secundarios en la columna.

Seguridad

Permisos

Requiere el permiso ALTER en la tabla o la vista. El usuario debe ser miembro del rol fijo de servidor sysadmin o de los roles fijos de base de datos db_ddladmin y db_owner .

Ejemplos

En el ejemplo siguiente se crea un índice XML selectivo secundario en la ruta de acceso pathabc. La ruta de acceso que se va a indizar es el nombre asignado en CREATE SELECTIVE XML INDEX (Transact-SQL).

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

Consulte también

Índices XML selectivos (SXI)
Crear, modificar y quitar índices XML selectivos secundarios