다음을 통해 공유


CREATE FULLTEXT CATALOG(Transact-SQL)

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

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

중요 정보중요

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

항목 링크 아이콘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부터 이 절은 아무 효과가 없습니다.

  • IN PATH 'rootpath'

    [!참고]

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

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

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

    전체 텍스트 카탈로그의 현재 악센트 구분 속성 설정을 확인하려면 FULLTEXTCATALOGPROPERTY 함수에 catalog_name의 accentsensitivity 속성 값을 사용합니다. 반환된 값이 '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 AdventureWorks;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO