XML 인덱스 삭제Drop XML Indexes

DROP INDEX(Transact-SQL) Transact-SQLTransact-SQL 문을 사용하여 기존 기본 또는 보조 XML 인덱스 및 비 XML 인덱스를 삭제할 수 있습니다.The DROP INDEX (Transact-SQL) Transact-SQLTransact-SQL statement can be used to drop existing primary or secondary XML and non-XML indexes. 그러나 DROP INDEX의 옵션은 XML 인덱스에 적용되지 않습니다.However, no options of DROP INDEX apply to XML indexes. 기본 XML 인덱스를 삭제하려면 존재하는 보조 인덱스도 모두 삭제됩니다.If you drop the primary XML index, any secondary indexes that are present are also deleted.

TableName.IndexName 이 있는 DROP 구문은 단계적으로 제거하며 XML 인덱스에 대해서는 지원되지 않습니다.The DROP syntax with TableName.IndexName is being phased out and is not supported for XML indexes.

예제: 기본 XML 인덱스 만들기 및 삭제Example: Creating and Dropping a Primary XML Index

다음 예에서는 XML 인덱스가 xml 유형 열에 생성됩니다.In the following example, an XML index is created on an xml type column.

DROP TABLE T  
GO  
CREATE TABLE T (Col1 INT PRIMARY KEY, XmlCol XML)  
GO  
-- Create Primary XML index   
CREATE PRIMARY XML INDEX PIdx_T_XmlCol   
ON T(XmlCol)  
GO  
-- Verify the index creation.   
-- Note index type is 3 for xml indexes.  
-- Note the type 3 is index on XML type.  
SELECT *  
FROM sys.xml_indexes  
WHERE object_id = object_id('T')  
AND name='PIdx_T_XmlCol'   
-- Drop the index.  
DROP INDEX PIdx_T_XmlCol ON T  

테이블이 삭제될 때 그 테이블의 모든 XML 인덱스도 자동으로 삭제됩니다.When a table is dropped, all the XML indexes on it are also automatically dropped. 그러나 XML 인덱스가 열에 있는 경우 XML 열은 테이블에서 삭제할 수 없습니다.However, an XML column cannot be dropped from a table if an XML index exists on the column.

다음 예에서는 XML 인덱스가 xml 유형 열에 생성됩니다.In the following example, an XML index is created on an xml type column. 자세한 내용은 형식화된 XML과 형식화되지 않은 XML 비교를 참조하세요.For more information, see Compare Typed XML to Untyped XML.

CREATE TABLE TestTable(  
 Col1 int primary key,   
 Col2 xml (Production.ProductDescriptionSchemaCollection))   
GO  

이제 Co12에 기본 XML 인덱스를 만들 수 있습니다.Now, you can create a primary XML index on Co12.

CREATE PRIMARY XML INDEX PIdx_TestTable_Col2   
ON TestTable(Col2)  
GO  

예제: DROP_EXISTING 인덱스 옵션을 사용하여 XML 인덱스 만들기Example: Creating an XML Index by Using the DROP_EXISTING Index Option

다음 예에서는 XML 인덱스가XmlColx열에 생성됩니다.In the following example, an XML index is created on a column (XmlColx). 그런 다음 같은 이름으로 된 다른 XML 인덱스가 다른 열XmlColy에 생성됩니다.Then, another XML index with the same name is created on a different column, (XmlColy). DROP_EXISTING 옵션이 지정되어 있으므로 (XmlColx) )의 기존 XML 인덱스가 삭제되고 (XmlColy)의 새 XML 인덱스가 생성됩니다.Because the DROP_EXISTING option is specified, the existing XML index on (XmlColx) is dropped and a new XML index on (XmlColy) is created.

DROP TABLE T  
GO  
CREATE TABLE T(Col1 int primary key, XmlColx xml, XmlColy xml)  
GO  
-- Create XML index on XmlColx.  
CREATE PRIMARY XML INDEX PIdx_T_XmlCol   
ON T(XmlColx)  
GO  
-- Create same name XML index on XmlColy.  
CREATE PRIMARY XML INDEX PIdx_T_XmlCol   
ON T(XmlColy)   
WITH (DROP_EXISTING = ON)  
-- Verify the index is created on XmlColy.d.  
SELECT sc.name   
FROM   sys.xml_indexes si inner join sys.index_columns sic   
ON     sic.object_id=si.object_id and sic.index_id=si.index_id  
INNER  join sys.columns sc on sc.object_id=sic.object_id   
AND    sc.column_id=sic.column_id  
WHERE  si.name='PIdx_T_XmlCol'   
AND    si.object_id=object_id('T')  

이 쿼리에서는 지정된 XML 인덱스가 생성된 열 이름을 반환합니다.This query returns the column name on which the specified XML index is created.

참고 항목See Also

XML 인덱스(SQL Server)XML Indexes (SQL Server)