sp_fulltext_column(Transact-SQL)

테이블의 특정 열을 전체 텍스트 인덱싱에 참여시킬지 여부를 지정합니다.

중요 정보중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 ALTER FULLTEXT INDEX를 사용하십시오.

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

구문

sp_fulltext_column [ @tabname= ] 'qualified_table_name' , 
     [ @colname= ] 'column_name' , 
     [ @action= ] 'action' 
     [ , [ @language= ] 'language_term' ] 
     [ , [ @type_colname= ] 'type_column_name' ]

인수

  • [ @tabname= ] 'qualified_table_name'
    한 부분 또는 두 부분의 테이블 이름입니다. 테이블은 반드시 현재 데이터베이스에 있어야 합니다. 해당 테이블에는 전체 텍스트 인덱스가 있어야 합니다. qualified_table_name은 nvarchar(517)이며 기본값은 없습니다.

  • [ @colname= ] 'column_name'
    qualified_table_name 열의 이름입니다. 이 열은 문자, varbinary(max) 또는 image 열이어야 하며 계산 열이어서는 안 됩니다. column_name은 sysname이며 기본값은 없습니다.

    [!참고]

    SQL Server가 varbinary(max) 또는 image 데이터 형식의 열에 저장된 텍스트 데이터의 전체 텍스트 인덱스를 만들 수 있습니다. 이미지와 그림은 인덱싱되지 않습니다.

  • [ @action= ] 'action'
    수행할 동작입니다. action은 **varchar(20)**이고 기본값은 없으며 다음 값 중 하나를 사용할 수 있습니다.

    설명

    add

    테이블의 비활성 전체 텍스트 인덱스에 qualified_table_name의 column_name을 추가합니다. 이 동작으로 전체 텍스트 인덱싱에 열을 사용할 수 있습니다.

    drop

    테이블의 비활성 전체 텍스트 인덱스에서 qualified_table_name의 column_name을 제거합니다.

  • [ @language= ] 'language_term'
    열에 저장된 데이터의 언어입니다. SQL Server에 포함된 언어 목록은 sys.fulltext_languages(Transact-SQL)를 참조하십시오.

    [!참고]

    열에 여러 언어 또는 지원되지 않는 언어의 데이터가 있을 때는 중립을 사용하십시오. 기본값은 구성 옵션인 ‘기본 전체 텍스트 언어’에 의해 지정됩니다.

  • [ @type_colname = ] 'type_column_name'
    column_name 문서 유형을 보유하는 qualified_table_name의 열 이름입니다. 이 열은 char, nchar, varchar 또는 nvarchar여야 합니다. column_name의 데이터 형식이 varbinary(max) 또는 image 형식일 경우에만 사용됩니다. type_column_name은 sysname이며 기본값은 없습니다.

반환 코드 값

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

결과 집합

없음

주의

전체 텍스트 인덱스가 활성화되었을 경우, 진행 중인 채우기가 모두 중지됩니다. 또한 활성화된 전체 텍스트 인덱스가 있는 테이블에 대해 변경 내용 추적을 사용할 수 있으면, SQL Server에서는 인덱스가 현재 상태인지 확인합니다. 예를 들어 SQL Server가 테이블에서 모든 현재 채우기를 중지하고, 기존 인덱스를 삭제한 후, 채우기를 새로 시작합니다.

변경 내용 추적이 진행 중이고 인덱스를 보관하는 동안 전체 텍스트 인덱스에서 열을 추가하거나 삭제해야 할 경우, 테이블은 비활성 상태이어야 하고, 필요한 열은 추가 또는 삭제되어야 합니다. 이러한 동작은 열을 고정시킵니다. 실제 채우기가 시작되면 테이블은 나중에 활성화될 수 있습니다.

사용 권한

사용자는 db_ddladmin 고정 데이터베이스 역할의 멤버, db_owner 고정 데이터베이스 역할의 멤버 또는 테이블의 소유자여야 합니다.

다음 예에서는 Document 테이블의 DocumentSummary 열을 해당 테이블의 전체 텍스트 인덱스에 추가합니다.

USE AdventureWorks;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

다음 예에서는 사용자가 spanishTbl라는 테이블에 전체 텍스트 인덱스를 만들었다고 가정합니다. 전체 텍스트 인덱스에 spanishCol 열을 추가하려면 다음 저장 프로시저를 실행하십시오.

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

이 쿼리를 실행하면 다음과 같은 결과가 나타납니다.

SELECT * 
FROM spanishTbl 
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')

결과 집합은 trabajo, trabajamos 및 trabajan과 같이 작업할 trabajar의 다른 형식이 있는 행을 포함합니다.

[!참고]

하나의 전체 텍스트 쿼리 함수 절에 있는 모든 열은 같은 언어를 사용해야 합니다.