sp_fulltext_column(Transact-SQL)

적용 대상:SQL ServerAzure Synapse Analytics

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

Important

이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 ALTER FULLTEXT INDEX를 사용합니다.

Transact-SQL 구문 표기 규칙

구문

sp_fulltext_column
    [ @tabname = ] N'tabname'
    , [ @colname = ] N'colname'
    , [ @action = ] 'action'
    [ , [ @language = ] language ]
    [ , [ @type_colname = ] N'type_colname' ]
[ ; ]

인수

[ @tabname = ] N'tabname'

한 부분 또는 두 부분으로 구성된 테이블 이름입니다. 테이블은 반드시 현재 데이터베이스에 있어야 합니다. 테이블에 전체 텍스트 인덱스가 있어야 합니다. @tabname nvarchar(517)이며 기본값은 없습니다.

[ @colname = ] N'colname'

@tabname의 이름입니다. 열은 문자, varbinary(max) 또는 이미지여야 하며 계산 열일 수 없습니다. @colname 기본값이 없는 sysname입니다.

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

[ @action = ] 'action'

수행할 작업입니다. @action 기본값이 없는 varchar(20)이며 다음 값 중 하나일 수 있습니다.

설명
add 테이블 비활성 전체 텍스트 인덱스 @tabname @colname 추가합니다. 이 동작으로 전체 텍스트 인덱싱에 열을 사용할 수 있습니다.
드롭 테이블의 비활성 전체 텍스트 인덱스에서 @tabname @colname 제거합니다.

[ @language = ] 언어

열에 저장된 데이터의 언어입니다. @language int이며 기본값은 .입니다NULL. SQL Server에 포함된 언어 목록은 sys.fulltext_languages(Transact-SQL)를 참조하세요.

참고 항목

열에 여러 언어 또는 지원되지 않는 언어의 데이터가 포함된 경우에 사용합니다 Neutral . 기본값은 서버 구성 옵션 기본 전체 텍스트 언어로 지정됩니다.

[ @type_colname = ] N'type_colname'

@colname 문서 형식을 포함하는 @tabname이름입니다. 이 열은 char, nchar, varchar 또는 nvarchar여야 합니다. @colname 데이터 형식이 varbinary(max) 또는 이미지 형식인 경우에만 사용됩니다. @type_colname 기본값NULL인 sysname입니다.

반환 코드 값

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

결과 집합

없음.

설명

전체 텍스트 인덱스가 활성 상태이면 진행 중인 채우기가 중지됩니다. 또한 활성 전체 텍스트 인덱스가 있는 테이블에 변경 내용 추적이 설정된 경우 SQL Server는 인덱스가 최신인지 확인합니다. 예를 들어 SQL Server는 테이블에서 현재 모집단을 중지하고, 기존 인덱스를 삭제하고, 새 모집단을 시작합니다.

변경 내용 추적이 설정되고 인덱스를 유지하는 동안 전체 텍스트 인덱스에서 열을 추가하거나 삭제해야 하는 경우 테이블을 비활성화해야 하며 필요한 열을 추가하거나 삭제해야 합니다. 이러한 동작은 열을 고정시킵니다. 채우기를 시작할 때 나중에 테이블을 활성화할 수 있습니다.

사용 권한

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

예제

다음 예제에서는 테이블의 DocumentSummaryDocument 열을 테이블의 전체 텍스트 인덱스로 추가합니다.

USE AdventureWorks2022;
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)');

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

참고 항목

단일 전체 텍스트 쿼리 함수 절에 나열된 모든 열은 동일한 언어를 사용해야 합니다.