CREATE XML INDEX (selektive XML-Indizes)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Erstellt einen neuen sekundären selektiven XML-Index für einen einzelnen Pfad, der bereits von einem vorhandenen selektiven XML-Index indiziert wird. Sie können auch primäre selektive XML-Indizes erstellen. Informationen hierzu finden Sie unter Erstellen, Ändern und Löschen selektiver XML-Indizes.

Transact-SQL-Syntaxkonventionen

Syntax

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  
)  

Argumente

index_name
Der Name des neuen zu erstellenden Indexes. Indexnamen müssen innerhalb einer Tabelle eindeutig sein, können aber innerhalb einer Datenbank mehrfach vorkommen. Indexnamen müssen den Regeln für Bezeichner entsprechen.

ON <table_object> ist die Tabelle mit der zu indizierenden XML-Spalte. Sie können die folgenden Formate verwenden:

  • database_name.schema_name.table_name

  • database_name..table_name

  • schema_name.table_name

xml_column_name
Der Name der XML-Spalte, die den zu indizierenden Pfad enthält.

USING XML INDEX sxi_index_name
Der Name des vorhandenen selektiven XML-Indexes.

FOR (<xquery_or_sql_values_path>) ist der Name des indizierten Pfads, für den der sekundäre selektive XML-Index erstellt werden soll. Der zu indizierende Pfad entspricht dem zugewiesenen Namen aus der CREATE SELECTIVE XML INDEX-Anweisung. Weitere Informationen finden Sie unter CREATE SELECTIVE XML INDEX (Transact-SQL).

WITH <index_options> Informationen zu den Indexoptionen finden Sie unter CREATE XML INDEX.

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Hinweise

In jeder XML-Spalte der Basistabelle kann es mehrere sekundäre selektive XML-Indizes geben.

Einschränkungen

Für eine XML-Spalte muss ein selektiver XML-Index vorhanden sein, bevor sekundäre selektive XML-Indizes für die Spalte erstellt werden können.

Sicherheit

Berechtigungen

Erfordert die ALTER-Berechtigung in der Tabelle oder Sicht. Der Benutzer muss ein Mitglied der festen Serverrolle sysadmin bzw. der festen Datenbankrollen db_ddladmin und db_owner sein.

Beispiele

Im folgenden Beispiel wird ein sekundärer selektiver XML-Index für den Pfad pathabcerstellt. Der zu indizierende Pfad entspricht dem zugewiesenen Namen aus der CREATE SELECTIVE XML INDEX-Anweisung (Transact-SQL).

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

Weitere Informationen

Selektive XML-Indizes (SXI)
Erstellen, Ändern und Löschen sekundärer, selektiver XML-Indizes