Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Modifierar ett befintligt selektivt XML-index. ALTER INDEX-satsen ändrar en eller flera av följande punkter:
Listan över indexerade vägar (FOR-satsen).
Listan över namnrymder (MED XMLNAMNRYMDSKLAUSULEN).
Indexoptionerna (MED klausulen).
Du kan inte ändra sekundära selektiva XML-index. För mer information, se Skapa, ändra och ta bort sekundära selektiva XML-index.
Transact-SQL syntaxkonventioner
Syntax
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
Är namnet på det befintliga indexet som ska ändras.
<table_object>
Är tabellen som innehåller XML-kolumnen att indexera. Använd ett av följande format:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[MED XMLNAMNSRYMDER (<xmlnamespace_list>)]
Är listan över namnrymder som används av stigarna för indexering. För information om syntaxen i WITH XMLNAMESPACES-satsen, se WITH XMLNAMESPACES (Transact-SQL).
FÖR (<promoted_node_path_action_list>)
Är listan över indexerade vägar att lägga till eller ta bort.
LÄGG till en väg. När du LÄGGER till en sökväg använder du samma syntax som används för att skapa vägar med satsen CREATE SELECTIVE XML INDEX. För information om de vägar du kan specificera i CREATE- eller ALTER-satsen, se Specificera vägar och optimeringstips för selektiva XML-index.
TA bort en väg. När du TAR bort en väg anger du namnet som gavs till vägen när den skapades.
[MED (<index_options>)]
Du kan bara ange <index_options> när du använder ALTER INDEX utan FOR-klausulen. När du använder ALTER INDEX för att lägga till eller ta bort vägar i indexet är indexalternativen inte giltiga argument. För information om indexalternativen, se SKAPA XML-INDEX (Selektiva XML-index).
Anmärkningar
Viktigt!
När du kör en ALTER INDEX-sats byggs det selektiva XML-indexet alltid om. Se till att ta hänsyn till hur denna process påverkar serverresurserna.
Security
Permissions
ALTER-behörighet på tabellen eller vyn krävs för att köra ALTER INDEX.
Examples
I följande exempel visas en ALTER INDEX-instruktion. Detta uttalande lägger till sökvägen '/a/b/m' till XQuery-delen av indexet och tar bort sökvägen '/a/b/e' från SQL-delen av indexet som skapats i exemplet i ämnet CREATE SELECTIVE XML INDEX (Transact-SQL). Sökvägen till borttagning identifieras med det namn som angavs när den skapades.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
Följande exempel visar ett ALTER INDEX-uttalande som specificerar indexalternativ. Indexalternativ är tillåtna eftersom satsen inte använder en FOR-klausul för att lägga till eller ta bort vägar.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Se även
Selektiva XML-index (SXI)
skapa, ändra och ta bort selektiva XML-index
Specificera vägar och optimeringstips för selektiva XML-index