Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Wijzigt een bestaande selectieve XML-index. De ALTER INDEX-verklaring wijzigt een of meer van de volgende items:
De lijst van geïndexeerde paden (FOR-clausule).
De lijst van naamruimtes (MET XMLNAAMRUIMTES-clausule).
De indexopties (WITH-clausule).
Je kunt secundaire selectieve XML-indexen niet wijzigen. Voor meer informatie, zie Aanmaken, Aanpassen en Verwijderen Secundaire Selectieve XML-indexen.
Transact-SQL syntaxis-conventies
Syntaxis
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
Is de naam van de bestaande index die aangepast moet worden.
<table_object>
Is de tabel die de XML-kolom bevat die geïndexeerd moet worden. Gebruik een van de volgende formaten:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[MET XMLNAMESPACES (<xmlnamespace_list>)]
Is de lijst van naamruimtes die door de paden om te indexeren worden gebruikt. Voor informatie over de syntaxis van de clausule WITH XMLNAMESPACES, zie WITH XMLNAMESPACES (Transact-SQL).
VOOR (<promoted_node_path_action_list>)
Is de lijst van geïndexeerde paden die toegevoegd of verwijderd moeten worden.
VOEG een pad toe. Wanneer je een pad TOEVOEGT, gebruik je dezelfde syntaxis die wordt gebruikt om paden te maken met de CREATE SELECTIVE XML INDEX-instructie. Voor informatie over de paden die je kunt specificeren in de CREATE- of ALTER-instructie, zie Specificeren Paden en Optimalisatietips voor Selectieve XML-indexen.
VERWIJDER een pad. Wanneer je een pad VERWIJDERT, geef je de naam die aan het pad is gegeven toen het werd aangemaakt.
[MET (<index_options>)]
Je kunt index_options< alleen specificeren >wanneer je ALTER INDEX gebruikt zonder de FOR-clausule. Wanneer je ALTER INDEX gebruikt om paden in de index toe te voegen of te verwijderen, zijn de indexopties geen geldige argumenten. Voor informatie over de indexopties, zie CREATE XML INDEX (Selectieve XML-indexen).
Opmerkingen
Belangrijk
Wanneer je een ALTER INDEX-instructie uitvoert, wordt de selectieve XML-index altijd opnieuw opgebouwd. Houd rekening met de impact van dit proces op serverbronnen.
Security
Permissions
ALTER-toestemming op de tabel of weergave is vereist om ALTER INDEX uit te voeren.
Voorbeelden
In het volgende voorbeeld ziet u een ALTER INDEX-instructie. Deze instructie voegt het pad '/a/b/m' toe aan het XQuery-gedeelte van de index en verwijdert het pad '/a/b/e' uit het SQL-gedeelte van de index die in het voorbeeld in het onderwerp CREATE SELECTIVE XML INDEX (Transact-SQL) is aangemaakt. Het pad dat moet worden verwijderd, wordt geïdentificeerd door de naam die aan het pad is gegeven toen het werd gemaakt.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
Het volgende voorbeeld toont een ALTER INDEX-instructie die indexopties specificeert. Indexopties zijn toegestaan omdat de instructie geen FOR-clausule gebruikt om paden toe te voegen of te verwijderen.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Zie ook
SXI- (Selectieve XML-indexen)
selectief XML-indexen maken, wijzigen en verwijderen
Specificeer paden en optimalisatietips voor selectieve XML-indexen