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의 다른 형식이 있는 행을 포함합니다.

[!참고]

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

참고 항목

참조

OBJECTPROPERTY(Transact-SQL)

sp_help_fulltext_columns(Transact-SQL)

sp_help_fulltext_columns_cursor(Transact-SQL)

sp_help_fulltext_tables(Transact-SQL)

sp_help_fulltext_tables_cursor(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)

전체 텍스트 검색 및 의미 체계 검색 저장 프로시저(Transact-SQL)