Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Modifica um índice XML seletivo existente. A ALTER INDEX declaração altera um ou mais dos seguintes itens:
A lista de caminhos indexados (cláusula FOR).
A lista de namespaces (cláusula WITH XMLNAMESPACES).
As opções de índice (cláusula WITH).
Você não pode alterar índices XML seletivos secundários. Para obter mais informações, veja Criar, alterar e remover índices XML seletivos secundários.
Convenções de sintaxe de Transact-SQL
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
)
Argumentos
index_name
Nome do índice existente a ser alterado.
<table_object>
Tabela que contém a coluna XML a ser indexada. Use um destes formatos:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[COM XMLNAMESPACES (<xmlnamespace_list>)]
Lista de namespaces usados pelos caminhos a serem indexados. Para obter informações sobre a sintaxe da cláusula WITH XMLNAMESPACES, veja WITH XMLNAMESPACES (Transact-SQL).
PARA (<promoted_node_path_action_list>)
Lista de caminhos indexados a serem adicionados ou removidos.
Use ADD para adicionar um caminho. Quando você ADICIONA um caminho, usa a mesma sintaxe usada para criar caminhos com a CREATE SELECTIVE XML INDEX instrução. Para obter informações sobre os caminhos que você pode especificar na instrução CREATE ou ALTER, veja Especificar caminhos e dicas de otimização para índices XML seletivos.
Use REMOVE para remover um caminho. Ao usar REMOVE para remover um caminho, forneça o nome que foi atribuído ao caminho quando ele foi criado.
[COM (<index_options>)]
Você só pode especificar <index_options> quando usar ALTER INDEX sem a cláusula FOR. Quando você usa 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, veja CREATE XML INDEX (Selective XML Indexes).
Comentários
Importante
Quando você executa uma ALTER INDEX instrução, o índice seletivo XML é sempre reconstruído. Considere o impacto desse processo em recursos do servidor.
Segurança
Permissões
A permissão ALTER na tabela ou visualização é necessária para executar ALTER INDEX.
Exemplos
O exemplo a seguir mostra uma ALTER INDEX afirmação. Essa instrução adiciona o caminho '/a/b/m' para a parte XQuery do índice e exclui o caminho '/a/b/e' da parte SQL do índice criado no exemplo do tópico CREATE SELECTIVE XML INDEX (Transact-SQL). O caminho a ser excluído é identificado pelo nome atribuído a ele quando foi criado.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
O exemplo a seguir mostra uma ALTER INDEX instrução que especifica opções de índice. As opções de índice são permitidas porque a instrução não usa uma cláusula FOR para adicionar ou remover caminhos.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Consulte Também
SXI (índices XML seletivos)
Criar, alterar e remover índices XML seletivos
Especificar caminhos e dicas de otimização para índices XML seletivos