CREATE XML INDEX (índices XML selectivos)

Crea un nuevo índice XML selectivo secundario en una única ruta de acceso que ya está indizada por un índice XML selectivo existente.

Para obtener más información, vea los siguientes temas:

También puede crear índices XML selectivos principales. Para obtener información, vea Crear, modificar y quitar índices XML selectivos.

Icono de vínculo a temas 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 ] . | schema_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

Cláusula CREATE

  • 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.

Por ejemplo: CREATE XML INDEX filt_sxi_index_c

Cláusula ON

  • <table_object>
    Es la tabla que contiene la columna XML que se va a indizar. 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.

Por ejemplo: ON Tbl(xmlcol)

Cláusula USING XML INDEX

  • sxi_index_name
    Es el nombre del índice XML selectivo existente.

Por ejemplo: USING XML INDEX sxi_index

Cláusula 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 CREATE SELECTIVE XML INDEX.

Por ejemplo:

FOR
(
    pathabc
)

Cláusula WITH

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

Se necesita 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.

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

Vea también

Conceptos

Índices XML selectivos (SXI)

Crear, modificar y quitar índices XML selectivos secundarios