Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Modifikuje existující selektivní XML index. Výkaz ALTER INDEX mění jednu nebo více z následujících položek:
Seznam indexovaných cest (klauzule FOR).
Seznam jmenných prostorů (S klauzulí XMLNAMESPACES).
Indexové opce (klauzule WITH).
Sekundární selektivní XML indexy nelze měnit. Pro více informací viz Vytváření, Měnit a Zrušovat sekundární selektivní XML indexy.
Syntaxe
ALTER INDEX index_name
ON <table_object>
[WITH XMLNAMESPACES ( <xmlnamespace_list> )]
FOR ( <promoted_node_path_action_list> )
[WITH ( <index_options> )]
<table_object> ::=
{ database_name.schema_name.table_name | schema_name.table_name | table_name }
<promoted_node_path_action_list> ::=
<promoted_node_path_action_item> [, <promoted_node_path_action_list>]
<promoted_node_path_action_item>::=
<add_node_path_item_action> | <remove_node_path_item_action>
<add_node_path_item_action> ::=
ADD <path_name> = <promoted_node_path_item>
<promoted_node_path_item>::=
<xquery_node_path_item> | <sql_values_node_path_item>
<remove_node_path_item_action> ::= REMOVE <path_name>
<path_name_or_typed_node_path>::=
<path_name> | <typed_node_path>
<typed_node_path> ::=
<node_path> [[AS XQUERY <xsd_type_ext>] | [AS SQL <sql_type>]]
<xquery_node_path_item> ::=
<node_path> [AS XQUERY <xsd_type_or_node_hint>] [SINGLETON]
<xsd_type_or_node_hint> ::=
[<xsd_type>] [MAXLENGTH(x)] | 'node()'
<sql_values_node_path_item> ::=
<node_path> AS SQL <sql_type> [SINGLETON]
<node_path> ::=
character_string_literal
<xsd_type_ext> ::=
character_string_literal
<sql_type> ::=
identifier
<path_name> ::=
identifier
<xmlnamespace_list> ::=
<xmlnamespace_item> [, <xmlnamespace_list>]
<xmlnamespace_item> ::=
<xmlnamespace_uri> AS <xmlnamespace_prefix>
<xml_namespace_uri> ::= character_string_literal
<xml_namespace_prefix> ::= identifier
<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
)
Arguments
index_name
Je název existujícího indexu pro změnu.
<table_object>
Je tabulka, která obsahuje sloupec XML pro index. Použijte jeden z následujících formátů:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[S XMLNAMESPACES (<xmlnamespace_list>)]
je seznam jmenných prostorů používaných cestami k indexování. Pro informace o syntaxi klauzule WITH XMLNAMESPACES viz WITH XMLNAMESPACES (Transact-SQL).
FOR (<promoted_node_path_action_list>)
Je seznam indexovaných cest, které je třeba přidat nebo odstranit.
PŘIDEJTE cestu. Když PŘIDÁTE cestu, použijete stejnou syntaxi, která se používá k vytváření cest pomocí příkazu CREATE SELECTIVE XML INDEX. Pro informace o cestách, které můžete specifikovat v příkazu CREATE nebo ALTER, viz Specifikovat cesty a optimalizační hinty pro selektivní XML indexy.
ODSTRAŇTE cestu. Když ODSTRANÍTE cestu, zadáte název, který jí byl dán při jejím vytvoření.
[S (<index_options>)]
index_options> můžete specifikovat <pouze tehdy, když používáte ALTER INDEX bez klauzule FOR. Když použijete ALTER INDEX k přidání nebo odebrání cest v indexu, možnosti indexu nejsou platné argumenty. Pro informace o možnostech indexu viz CREATE XML INDEX (Selective XML Indexes).
Poznámky
Důležité
Když spustíte příkaz ALTER INDEX, selektivní XML index se vždy znovu vytvoří. Nezapomeňte zvážit dopad tohoto procesu na zdroje serveru.
Zabezpečení
Povolení
Pro spuštění ALTER INDEX je vyžadováno povolení ALTERu k tabulce nebo zobrazení.
Examples
Následující příklad ukazuje příkaz ALTER INDEX. Tento příkaz přidá cestu '/a/b/m' do části indexu XQuery a cestu '/a/b/e' odstraní z SQL části indexu vytvořené v příkladu v tématu CREATE SELECTIVE XML INDEX (Transact-SQL). Cesta k odstranění je identifikována názvem, který mu byl přidělen při jeho vytvoření.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
Následující příklad ukazuje příkaz ALTER INDEX, který specifikuje možnosti indexu. Indexové opce jsou povoleny, protože výrok nepoužívá klauzuli FOR pro přidání nebo odebírání cest.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Viz také
selektivní indexy XML (SXI)
vytváření, změny a odstraňování selektivních indexů XML
Specifikujte cesty a optimalizační tipy pro selektivní XML indexy