sp_fulltext_table(Transact-SQL)

테이블을 전체 텍스트 인덱싱에 표시하거나 표시하지 않습니다.

ms187960.note(ko-kr,SQL.90).gif중요:
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 새로운 전체 텍스트 DDL(데이터 정의 언어) 문을 사용합니다. 자세한 내용은 CREATE, ALTER 및 DROP FULLTEXT INDEX 항목을 참조하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_fulltext_table 
   [ @tabname= ] 'qualified_table_name'               , [ @action= ] 'action' 
   [ 
      , [ @ftcat= ] 'fulltext_catalog_name'               , [ @keyname= ] 'unique_index_name' 
   ]

인수

[ @tabname=] 'qualified_table_name'

한 부분 또는 두 부분의 테이블 이름입니다. 테이블은 반드시 현재 데이터베이스에 있어야 합니다. qualified_table_name은 **nvarchar(517)**이며, 기본값은 없습니다.

[ @action=] 'action'

수행할 작업입니다. action은 **nvarchar(50)**이며 다음 값 중 하나를 사용할 수 있습니다.

설명

Create

qualified_table_name이 참조하는 테이블에 대한 전체 텍스트 인덱스의 메타데이터를 만들고, 해당 테이블에 대한 전체 텍스트 인덱스 데이터가 fulltext_catalog_name에 있어야 하는지를 지정합니다. 또한 이 작업은 전체 텍스트 키 열로서의 unique_index_name의 사용을 지정합니다. 이 고유한 인덱스는 반드시 이미 존재해야 하며, 테이블의 한 열에서 정의되어야 합니다.

전체 텍스트 카탈로그가 채워질 때까지는 해당 테이블에 대해 전체 텍스트 검색을 수행할 수 없습니다.

Drop

qualified_table_name의 전체 텍스트 인덱스의 메타데이터를 삭제합니다. 전체 텍스트 인덱스가 활성화된 경우에는 삭제되기 전에 자동으로 비활성화됩니다. 전체 텍스트 인덱스를 삭제하기 전에 열을 제거할 필요는 없습니다.

Activate

전체 텍스트 인덱스 데이터가 비활성화된 후에 이를 qualified_table_name에 모을 수 있는 기능을 활성화합니다. 활성화되기 전에 전체 텍스트 인덱스에 참여하는 열이 적어도 하나 이상 있어야 합니다.

전체 텍스트 인덱스는 인덱스에 첫 번째 열이 추가된 직후 채우기가 자동으로 활성화됩니다. 마지막 열이 인덱스에서 삭제되면 해당 인덱스는 비활성화됩니다. 변경 내용 추적이 진행 중인 경우 비활성화된 인덱스를 활성화하면 채우기가 새로 시작됩니다.

이 작업은 실제로 전체 텍스트 인덱스를 채우지는 않으며, 단순히 파일 시스템의 전체 텍스트 카탈로그에 테이블을 등록하기만 하여 qualified_table_name의 행을 다음 전체 텍스트 인덱스 채우기 동안 검색할 수 있게 합니다.

Deactivate

qualified_table_name의 전체 텍스트 인덱스를 비활성화하여 전체 텍스트 인덱스 데이터를 qualified_table_name에 더 이상 모으지 않습니다. 그러나 전체 텍스트 인덱스 메타데이터는 남아 있으며 테이블을 다시 활성화할 수 있습니다.

변경 내용 추적이 진행 중인 경우 활성화된 인덱스를 비활성화하여 인덱스의 상태를 고정시킬 수 있습니다. 즉, 진행 중인 채우기를 모두 중단시키고 변경 내용을 인덱스에 더 이상 전파시키지 않습니다.

start_change_tracking

전체 텍스트 인덱스의 증분 채우기를 시작합니다. 테이블에 타임스탬프가 없는 경우에는 전체 텍스트 인덱스의 전체 채우기를 시작합니다. 테이블의 변경 내용 추적을 시작합니다.

전체 텍스트 변경 내용 추적은 image, text 또는 ntext 유형의 전체 텍스트 인덱싱된 열에서 실행된 모든 WRITETEXT 또는 UPDATETEXT 작업을 추적하지 않습니다.

stop_change_tracking

테이블의 변경 내용 추적을 중단합니다.

update_index

추적한 변경 내용의 현재 집합을 전체 텍스트 인덱스로 전파합니다.

start_background_updateindex

변경될 때마다 추적한 변경 내용을 전체 텍스트 인덱스로 전파하기 시작합니다.

stop_background_updateindex

변경될 때마다 추적한 변경 내용을 전체 텍스트 인덱스로 전파하는 것을 중단합니다.

start_full

테이블에 대한 전체 텍스트 인덱스의 전체 채우기를 시작합니다.

start_incremental

테이블에 대한 전체 텍스트 인덱스의 증분 채우기를 시작합니다.

Stop

전체 또는 증분 채우기를 중단합니다.

[ @ftcat=} 'fulltext_catalog_name'

create 작업에 대한 기존의 유효한 전체 텍스트 카탈로그 이름입니다. 모든 다른 작업에 대해서는 이 매개 변수가 반드시 NULL이어야 합니다. fulltext_catalog_namesysname이며 기본값은 NULL입니다.

[ @keyname=] 'unique_index_name'

유효한 단일 키 열, 즉 create 작업의 qualified_table_name에 NULL을 허용하지 않는 고유한 인덱스입니다. 모든 다른 작업에 대해서는 이 매개 변수가 반드시 NULL이어야 합니다. unique_index_namesysname이며 기본값은 NULL입니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

없음

주의

특정 테이블에 대해 전체 텍스트 인덱스가 비활성화된 후에는 다음 전체 채우기가 시작될 때까지 기존의 전체 텍스트 인덱스가 그 자리에 남아 있습니다. 단, Microsoft SQL Server 가 비활성화된 테이블에 대한 쿼리를 차단하므로 이 인덱스를 사용할 수 없습니다.

테이블이 다시 활성화되고 인덱스가 다시 채워지지 않은 경우, 신규가 아닌 남아 있는 모든 전체 텍스트를 사용할 수 있는 열에 대해 쿼리할 때 여전히 이전 인덱스를 사용할 수 있습니다. 삭제된 열에서 가져온 데이터는 모든 전체 텍스트 열 검색을 지정하는 쿼리에서 짝을 찾습니다.

테이블이 전체 텍스트 인덱싱에 대해 정의된 이후, 전체를 다시 채우지 않고 해당 열의 데이터 형식을 변경하거나 한 열에서 다른 열로 전체 텍스트 고유 키 열을 변경하여 한 데이터 형식에서 다른 데이터 형식으로 전체 텍스트 고유 키 열을 변경하는 경우, 후속 쿼리 동안 실패가 발생하며, 다음과 같은 오류 메시지가 반환됩니다. "data_type 유형으로 변환하는 작업이 전체 텍스트 검색 키 값인 key_value로 인해 실패하였습니다." 이를 방지하려면 sp_fulltext_tabledrop 작업을 사용하여 해당 테이블에 대한 전체 텍스트 정의를 모두 삭제한 다음, sp_fulltext_tablesp_fulltext_column을 사용하여 다시 정의합니다.

전체 텍스트 키 열은 900바이트 이하로 정의되어야 합니다. 키 열의 크기는 성능 향상을 위해 가능한 작은 것이 좋습니다.

사용 권한

sysadmin 고정 서버 역할, db_ownerdb_ddladmin 고정 데이터베이스 역할의 멤버 또는 전체 텍스트 카탈로그에 대한 참조 권한을 가진 사용자는 sp_fulltext_table을 실행할 수 있습니다.

1. 테이블을 전체 텍스트 인덱싱에 사용

다음 예에서는 AdventureWorks 데이터베이스의 Document 테이블에 대한 전체 텍스트 인덱스 메타데이터를 만듭니다. Cat_Desc는 전체 텍스트 카탈로그입니다. PK_Document_DocumentIDDocument의 고유한 단일 열 인덱스입니다.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'create', 'Cat_Desc', 'PK_Document_DocumentID';
--Add some columns
EXEC sp_fulltext_column 'Production.Document','DocumentSummary','add';
-- Activate the full-text index
EXEC sp_fulltext_table 'Production.Document','activate';
GO

2. 변경 내용 추적 활성화 및 전파

다음 예에서는 변경될 때마다 추적한 변경 내용을 활성화하여 전체 텍스트 인덱스로 전파를 시작합니다.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'Start_change_tracking';
EXEC sp_fulltext_table 'Production.Document', 'Start_background_updateindex';
GO

3. 전체 텍스트 인덱스 제거

다음 예에서는 AdventureWorks 데이터베이스의 Document 테이블에 대한 전체 텍스트 인덱스 메타데이터를 제거합니다.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'drop';
GO

참고 항목

참조

NDEXPROPERTY(Transact-SQL)
OBJECTPROPERTY(Transact-SQL)
sp_help_fulltext_tables(Transact-SQL)
sp_help_fulltext_tables_cursor(Transact-SQL)
sp_helpindex(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)
전체 텍스트 검색 저장 프로시저(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기