Поделиться через


CREATE FULLTEXT CATALOG (Transact-SQL)

Создает полнотекстовый каталог в базе данных. Один полнотекстовый каталог может содержать несколько полнотекстовых индексов, но любой полнотекстовый индекс может быть частью только одного полнотекстового каталога. Каждая база данных может содержать ноль или более полнотекстовых каталогов.

Нельзя создать полнотекстовые каталоги в базах данных master, model или tempdb.

Значок ссылки на разделСинтаксические обозначения в 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, частью которой будет новый каталог. Если файловая группа не указана, новый каталог будет частью файловой группы по умолчанию, используемой для полнотекстовых каталогов. Полнотекстовой файловой группой по умолчанию является первичная файловая группа для базы данных. Рекомендуется помещать полнотекстовые каталоги во вторичную файловую группу. Это позволяет выполнять резервное копирование и восстановление файловой группы полнотекстовых каталогов независимо от файлов данных и журналов. Кроме того, помещая полнотекстовые каталоги во вторичную файловую группу, можно восстановить полнотекстовый каталог в оперативном режиме.

    Файловая группа, в которую создается полнотекстовый каталог, должна содержать, по крайней мере, один доступный файл данных, который используется для внутренних структур, являющихся частью полнотекстового каталога. Этот файл, хранящийся в SQL Server, должен быть помечен как OFFLINE или READONLY.

    Каталоги в файловой группе воспринимаются как файлы, и их физическое расположение определяется путем в представлении каталога sys.master_files. Имя файла, созданного для каждого полнотекстового каталога, состоит из префикса sysft_ и имени каталога. Например, если имя каталога catname, то имя соответствующего ему файла будет sysft_catname.

  • IN PATH 'rootpath'
    Корневой каталог для каталога. Если аргумент rootpath не указан, новый каталог будет размещен в указанном при установке каталога по умолчанию.

    Полнотекстовые каталоги должны быть созданы на локальном жестком диске, ассоциированном с экземпляром SQL Server. Аргумент rootpath не может быть относительным путем, он должен находиться на диске на том же компьютере. Хотя можно задать корень диска (например «C:\») в качестве местоположения полнотекстового каталога, делать это не рекомендуется. Не поддерживаются сетевые диски, съемные диски, дискеты и UNC-пути. В окружении отказоустойчивого кластера путь должен располагаться на общем диске, от которого зависит ресурс SQL Server.

    Если для существующего имени полнотекстового каталога указан неправильный путь, SQL Server возвращает ошибку и не создает полнотекстовый каталог. Если указанное значение rootpath не существует, SQL Server возвращает ошибку, сообщающую, что путь не существует.

    Для обеспечения возможности создания разностной резервной копии, восстановления и восстановления полнотекстовых каталогов полнотекстовый каталог должен храниться в каталоге, который является частью файловой системы NTFS. Разностная резервная копия и восстановление не поддерживаются на файловых системах, отличных от NTFS.

    Полнотекстовый каталог будет создан в качестве каталога в заданном корневом пути, имя каталога будет аналогичным имени полнотекстового каталога. Если каталог с таким именем уже существует, к имени каталога будет добавлен суффикс и будет создан каталог с таким именем.

    Не создавайте полнотекстовые каталоги в корне диска, например «c:\».

  • ACCENT_SENSITIVITY = {ON|OFF}
    Указывает, будет ли каталог учитывать диакритические знаки для полнотекстового индексирования. Если это свойство меняется, индекс перестраивается. По умолчанию, в параметрах сортировки базы данных установлено учитывать диакритические знаки. Чтобы увидеть параметры сортировки базы данных, используйте представление каталога sys.databases.

    Чтобы определить текущее состояние учета диакритических знаков полнотекстового каталога, примените функцию FULLTEXTCATALOGPROPERTY со свойством accentsensitivity со значением catalog_name в качестве аргумента. Если возвращенное значение равно 1, полнотекстовый каталог учитывает диакритические знаки; если значение равно 0, каталог не учитывает диакритические знаки.

  • AS DEFAULT
    Указывает, что каталог является каталогом по умолчанию. При создании полнотекстовых индексов без явного указания полнотекстового каталога используется каталог по умолчанию. Если существующий полнотекстовый каталог уже помечен как AS DEFAULT, установка этого нового каталога AS DEFAULT сделает этот каталог полнотекстовым каталогом по умолчанию.
  • AUTHORIZATION owner_name
    Устанавливает владельцем полнотекстового каталога пользователя или роль базы данных. Если аргумент owner_name является ролью, это должно быть имя роли, членом которой является текущий пользователь или пользователь, выполняющий инструкцию, должен быть владельцем базы данных или системным администратором.

    Если аргумент owner_name является именем пользователя, имя пользователя должно быть одним из следующих:

    • имя пользователя, выполняющего инструкцию;
    • имя пользователя, для которого пользователь, выполняющий инструкцию, имеет разрешение на IMPERSONATE;
    • или пользователь, выполняющий команду, должен быть владельцем базы данных или системным администратором.

    Пользователю owner_name должно быть предоставлено разрешение TAKE OWNERSHIP на указанный полнотекстовый каталог.

Разрешения

Пользователь должен иметь разрешение 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

См. также

Справочник

ALTER FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)

Другие ресурсы

Полнотекстовый поиск
Создать полнотекстовый каталог (страница «Общие»)

Справка и поддержка

Получение помощи по SQL Server 2005