다음을 통해 공유


CREATE FULLTEXT CATALOG(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

데이터베이스에 대한 전체 텍스트 카탈로그를 만듭니다. 전체 텍스트 카탈로그 하나에 전체 텍스트 인덱스는 여러 개 있을 수 있지만 각 전체 텍스트 인덱스는 전체 텍스트 카탈로그 하나에만 속할 수 있습니다. 각 데이터베이스에는 전체 텍스트 카탈로그가 없거나 하나 이상 포함될 수 있습니다.

master, model 또는 tempdb 데이터베이스에서는 전체 텍스트 카탈로그를 만들 수 없습니다.

중요

SQL Server 2008(10.0.x)부터는 전체 텍스트 카탈로그가 가상 개체이며 어떠한 파일 그룹에도 속하지 않습니다. 전체 텍스트 카탈로그는 전체 텍스트 인덱스 그룹을 나타내는 논리적 개념입니다.

Transact-SQL 구문 표기 규칙

구문

  
CREATE FULLTEXT CATALOG catalog_name  
     [ON FILEGROUP filegroup ]  
     [IN PATH 'rootpath']  
     [WITH <catalog_option>]  
     [AS DEFAULT]  
     [AUTHORIZATION owner_name ]  
  
<catalog_option>::=  
     ACCENT_SENSITIVITY = {ON|OFF}  
  

인수

catalog_name

새 카탈로그의 이름입니다. 카탈로그 이름은 현재 데이터베이스에 있는 모든 카탈로그 이름 중에서 고유해야 합니다. 또한 전체 텍스트 카탈로그(ON FILEGROUP 참조)에 해당하는 파일의 이름은 데이터베이스에 있는 모든 파일 이름과 중복되지 않는 고유 이름이어야 합니다. 카탈로그 이름이 데이터베이스의 다른 카탈로그에 이미 사용되었으면 SQL Server에서 오류를 반환합니다.

카탈로그 이름은 120자를 초과할 수 없습니다.

ON FILEGROUP filegroup
SQL Server 2008(10.0.x)부터 이 절은 아무 효과가 없습니다.

IN PATH 'rootpath'

참고 항목

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

SQL Server 2008(10.0.x)부터 이 절은 아무 효과가 없습니다.

ACCENT_SENSITIVITY = {ON|OFF}
전체 텍스트 인덱싱에 대해 카탈로그의 악센트 구분 여부를 지정합니다. 이 속성이 변경되면 인덱스를 다시 만들어야 합니다. 기본값은 데이터베이스 데이터 정렬에 지정된 악센트 구분을 사용하는 것입니다. 데이터베이스 데이터 정렬을 표시하려면 sys.databases 카탈로그 뷰를 사용합니다.

전체 텍스트 카탈로그의 현재 악센트 구분 속성 설정을 확인하려면 catalog_name에 대해 accentsensitivity 속성 값을 가진 FULLTEXTCATALOGPROPERTY 함수를 사용합니다. 반환된 값이 '1'인 경우 전체 텍스트 카탈로그는 악센트를 구분하며 반환된 값이 '0'인 경우 카탈로그는 악센트를 구분하지 않습니다.

AS DEFAULT
카탈로그를 기본 카탈로그로 지정합니다. 전체 텍스트 카탈로그를 명시적으로 지정하지 않고 전체 텍스트 인덱스를 만든 경우 기본 카탈로그가 사용됩니다. 이미 AS DEFAULT로 표시된 기존의 전체 텍스트 카탈로그가 있을 경우 새 카탈로그를 AS DEFAULT로 설정하면 이 카탈로그가 기본 전체 텍스트 카탈로그가 됩니다.

AUTHORIZATION owner_name
전체 텍스트 카탈로그의 소유자를 데이터베이스 사용자 또는 역할의 이름으로 설정합니다. owner_name이 역할인 경우 이 역할은 현재 사용자가 속해 있는 역할의 이름이어야 합니다. 그렇지 않으면 문을 실행하는 사용자가 데이터베이스 소유자 또는 시스템 관리자여야 합니다.

owner_name이 사용자 이름인 경우 사용자 이름은 다음 중 하나여야 합니다.

  • 문을 실행하는 사용자의 이름이어야 합니다.

  • 명령을 실행하는 사용자가 가장 권한을 가지고 있는 사용자의 이름이어야 합니다.

  • 그렇지 않으면 명령을 실행하는 사용자가 데이터베이스 소유자 또는 시스템 관리자여야 합니다.

또한 owner_name에는 지정한 전체 텍스트 카탈로그에 대한 TAKE OWNERSHIP 권한이 있어야 합니다.

설명

전체 텍스트 카탈로그 ID는 00005부터 시작하고 카탈로그를 새로 만들 때마다 1씩 증가합니다.

사용 권한

사용자는 데이터베이스에 대한 CREATE FULLTEXT CATALOG 권한이 있거나 db_owner 또는 db_ddladmin 고정 데이터베이스 역할의 멤버여야 합니다.

예제

다음 예에서는 전체 텍스트 카탈로그와 전체 텍스트 인덱스를 만듭니다.

USE AdventureWorks2022;  
GO  
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;  
GO  
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;  
GO  

관련 항목