Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Modifica um índice XML seletivo existente. A declaração ALTER INDEX altera um ou mais dos seguintes itens:
A lista de caminhos indexados (cláusula FOR).
A lista de namespaces (COM cláusula XMLNAMESPACES).
As opções de índice (cláusula WITH).
Não pode alterar índices XML seletivos secundários. Para mais informações, consulte Criar, Alterar e Deixar Índices Secundários Seletivos XML.
Transact-SQL convenções de sintaxe
Sintaxe
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
É o nome do índice existente a alterar.
<table_object>
É a tabela que contém a coluna XML a indexar. Use um dos seguintes formatos:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[COM XMLNAMESPACES (<xmlnamespace_list>)]
É a lista de namespaces usados pelos caminhos para indexar. Para informações sobre a sintaxe da cláusula WITH XMLNAMESPACES, veja WITH XMLNAMESPACES (Transact-SQL).
PARA (<promoted_node_path_action_list>)
É a lista de caminhos indexados a adicionar ou remover.
ADICIONA um caminho. Quando ADICIONAS um caminho, usas a mesma sintaxe que é usada para criar caminhos com a instrução CREATE SELECTIVE XML INDEX. Para informações sobre os caminhos que pode especificar na instrução CREATE ou ALTER, consulte Especificar Caminhos e Dicas de Otimização para Índicas Seletivas XML.
REMOVE um caminho. Quando REMOVE um caminho, fornece o nome que foi dado ao caminho quando foi criado.
[COM (<index_options>)]
Só pode especificar <index_options> quando usa ALTER INDEX sem a cláusula FOR. Quando usas ALTER INDEX para adicionar ou remover caminhos no índice, as opções de índice não são argumentos válidos. Para informações sobre as opções de índice, consulte CREATE XML INDEX (Selective XML Indexes).
Observações
Importante
Quando executa uma instrução ALTER INDEX, o índice seletivo XML é sempre reconstruído. Certifique-se de considerar o impacto deste processo nos recursos do servidor.
Segurança
Permissions
É necessária permissão ALTER na tabela ou vista para executar o ALTER INDEX.
Examples
O exemplo seguinte mostra uma instrução ALTER INDEX. Esta afirmação adiciona o caminho '/a/b/m' à parte XQuery do índice e elimina o caminho '/a/b/e' da parte SQL do índice criado no exemplo no tópico CREATE SELECTIVE XML INDEX (Transact-SQL). O caminho a eliminar é identificado pelo nome que lhe foi dado quando foi criado.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
O exemplo seguinte mostra uma instrução ALTER INDEX que especifica opções de índice. As opções de índice são permitidas porque a instrução não utiliza uma cláusula FOR para adicionar ou remover caminhos.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Ver também
Índices XML seletivos (SXI)
Criar, alterar e descartar índices XML seletivos
Especificar Caminhos e Dicas de Otimização para Índices XML Seletivos