Condividi tramite


CREATE XML INDEX (indici XML selettivi)

Si applica a:SQL ServerDatabase SQL di AzureIstanza 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