Condividi tramite


CREATE XML INDEX (indici XML selettivi)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Crea un nuovo indice XML selettivo secondario in un unico percorso già indicizzato da un indice XML selettivo esistente. È inoltre possibile creare indici XML selettivi primari. Per informazioni, vedere Creare, modificare o eliminare indici XML selettivi.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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  
)  

Argomenti

index_name
Nome del nuovo indice che si desidera creare. I nomi degli indici devono essere necessariamente univoci all'interno di una tabella, ma non all'interno di un database. Devono essere anche conformi alle regole degli identificatori.

ON <table_object> Tabella contenente la colonna XML da indicizzare. È possibile usare i formati seguenti:

  • database_name.schema_name.table_name

  • database_name..table_name

  • schema_name.table_name

xml_column_name
Nome della colonna XML contenente il percorso che si desidera indicizzare.

USING XML INDEX sxi_index_name
Nome dell'indice XML selettivo esistente.

FOR (<xquery_or_sql_values_path>) Nome del percorso indicizzato in cui creare l'indice XML selettivo secondario. Il percorso che si desidera indicizzare è il nome assegnato dall'istruzione CREATE SELECTIVE XML INDEX. Per altre informazioni, vedere CREATE SELECTIVE XML INDEX (Transact-SQL).

WITH <index_options> Per informazioni sulle opzioni di indicizzazione, vedere CREATE XML INDEX.

Osservazioni:

In ogni colonna XML della tabella di base potrebbero essere presenti più indici XML selettivi secondari.

Limitazioni e restrizioni

Prima di poter creare indici XML selettivi secondari in una colonna, è necessario che per tale colonna esista un indice XML selettivo.

Sicurezza

Autorizzazioni

È richiesta l'autorizzazione ALTER per la tabella o la vista. L'utente deve essere un membro del ruolo predefinito del server sysadmin o dei ruoli predefiniti del database db_ddladmin e db_owner .

Esempi

Nell'esempio seguente viene creato un indice XML selettivo secondario nel percorso pathabc. Il percorso da indicizzare è il nome assegnato dall'istruzione CREATE SELECTIVE XML INDEX (Transact-SQL).

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

Vedi anche

Indici XML selettivi (SXI)
Creare, modificare o eliminare indici XML selettivi secondari