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. Bu ifade ALTER INDEX aşağıdaki maddelerden 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 EKLERKEN de, ifadeyle yol CREATE SELECTIVE XML INDEX 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 maddesi olmadan kullandığınızda index_options<> belirtebilirsinizALTER INDEX.
ALTER INDEX Indekste yol eklemek veya kaldırmak için kullandığınızda, indeks seçenekleri geçerli argüman değildir. Endeks seçenekleri hakkında bilgi için bkz.CREATE XML INDEX (Seçici XML İndeksleri).
Açıklamalar
Önemli
Bir ALTER INDEX ifadeyi ç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
Çalışmak ALTER INDEXiçin tablo veya görünüm üzerinde ALTER izni gereklidir.
Örnekler
Aşağıdaki örnekte bir ALTER INDEX deyim gösterilmektedir. Bu ifade, indeksin XQuery kısmına yolu '/a/b/m' ekler ve örnekte oluşturulan indeksin SQL kısmından CREATE SELECTIVE XML INDEXyolu siler (Transact-SQL) konudaki örneklerde. 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 opsiyonlarını belirten bir ALTER INDEX ifadeyi 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;