Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Mevcut seçici XML indeksini değiştirir. ALTER INDEX ifadesi aşağıdaki öğelerden birini veya birkaçını değiştirir:
Indeksli yollar listesi (FOR maddesi).
Isim alanları listesi (WITH XMLNAMESPACES cümlesi).
Endeks opsiyonları (WITH maddesi).
İkincil seçici XML indekslerini değiştiremezsiniz. Daha fazla bilgi için Create, Alter, and Drop Secondary Selective XML Indexes (İkincil Seçici XML İndeksleri) bölümüne bakınız.
Transact-SQL söz dizimi kuralları
Sözdizimi
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
Değiştirilecek mevcut indeksin adı.
<table_object>
Indekslemek için XML sütununu içeren tablodur. Aşağıdaki formatlardan birini kullanın:
database_name.schema_name.table_namedatabase_name..table_nameschema_name.table_nametable_name
[XMLNAMESPACES (<xmlnamespace_list>)]
Indeksleme yollarının kullandığı isim uzaylarının listesidir. WITH XMLNAMESPACES cümlesinin sözdizimi hakkında bilgi için bkz. WITH XMLNAMESPACES (Transact-SQL) bölüm.
FOR (<promoted_node_path_action_list>)
Eklenecek veya çıkarılacak indekslenmiş yolların listesi.
Bir yol ekleyin. Bir yol EKLEDIĞINIZDE, CREATE SELECTIVE XML Index ifadesiyle yol oluşturmak için kullanılan aynı sözdizimi kullanılır. CREATE veya ALTER ifadesinde belirtebileceğiniz yollar hakkında bilgi için Seçici XML İndeksleri için Yolları Belirtin ve Optimizasyon İpuçları bölümünü inceleyebilirsiniz.
Bir yolu KALDIR. Bir yolu KALDIRDIĞINIZDA, yol oluşturulduğunda ona verilen adı verirsiniz.
[(ILE) (<index_options>)]
FOR cümlesi olmadan ALTER INDEX kullandığınızda index_options< belirtebilirsiniz>. ALTER INDEX kullanarak indekse yol eklediğinizde veya kaldırdığınızda, indeks seçenekleri geçerli argüman değildir. Indeks seçenekleri hakkında bilgi için bkz. CREATE XML INDEX (Selective XML Indexes) bölüm.
Açıklamalar
Önemli
ALTER INDEX ifadesi çalıştırdığınızda, seçici XML indeksi her zaman yeniden oluşturulur. Bu sürecin sunucu kaynakları üzerindeki etkisini mutlaka göz önünde bulundurun.
Security
Permissions
ALTER INDEX'i çalıştırmak için tablo veya görünüm üzerinde ALTER izni gereklidir.
Örnekler
Aşağıdaki örnekte ALTER INDEX deyimi gösterilmektedir. Bu ifade, SEÇİCİ XML '/a/b/m'Transact-SQL) konusunda örneğinde oluşturulan indeksin SQL kısmından yolu '/a/b/e' ekler ve örneği oluşturan indeksin SQL kısmından yolu siler. Silme yolu, oluşturulduğu sırada ona verilen adla tanımlanır.
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
);
Aşağıdaki örnek, endeks seçeneklerini belirten bir ALTER INDEX ifadesini gösterir. Endeks opsiyonlarına izin verilir çünkü ifade, yol eklemek veya kaldırmak için FOR maddesi kullanmaz.
ALTER INDEX sxi_index
ON Tbl
PAD_INDEX = ON;
Ayrıca Bkz.
Seçmeli XML Dizinleri (SXI)
Seçmeli XML Dizinlerini Oluşturma, Değiştirme ve Bırakma
Seçici XML İndeksleri için Yollar ve Optimizasyon İpuçları Belirtin