CREATE FULLTEXT CATALOG (Transact-SQL)
Создает полнотекстовый каталог в базе данных. Один полнотекстовый каталог может содержать несколько полнотекстовых индексов, но любой полнотекстовый индекс может быть частью только одного полнотекстового каталога. Каждая база данных может содержать ноль или более полнотекстовых каталогов.
Нельзя создать полнотекстовые каталоги в базах данных master, model или tempdb.
Важно! |
---|
Начиная с SQL Server 2008, полнотекстовый каталог является виртуальным объектом и не входит в файловую группу. Полнотекстовый каталог — это логическое понятие, обозначающее группу полнотекстовых индексов. |
Синтаксис
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.Для определения текущего значения учета диакритических знаков полнотекстового каталога примените к аргументу catalog_name функцию FULLTEXTCATALOGPROPERTY со свойством accentsensitivity. Если возвращенное значение равно 1, полнотекстовый каталог учитывает диакритические знаки; если значение равно 0, каталог не учитывает диакритические знаки.
AS DEFAULT
Указывает, что каталог является каталогом по умолчанию. При создании полнотекстовых индексов без явного указания полнотекстового каталога используется каталог по умолчанию. Если существующий полнотекстовый каталог уже помечен как AS DEFAULT, установка этого нового каталога AS DEFAULT сделает этот каталог полнотекстовым каталогом по умолчанию.AUTHORIZATION owner_name
Устанавливает владельцем полнотекстового каталога пользователя или роль базы данных. Если аргумент owner_name является ролью, это должно быть имя роли, членом которой является текущий пользователь или пользователь, выполняющий инструкцию, должен быть владельцем базы данных или системным администратором.Если аргумент owner_name является именем пользователя, имя пользователя должно быть одним из следующих:
имя пользователя, выполняющего инструкцию;
имя пользователя, для которого пользователь, выполняющий инструкцию, имеет разрешение на IMPERSONATE;
или пользователь, выполняющий команду, должен быть владельцем базы данных или системным администратором.
Пользователю owner_name должно быть предоставлено разрешение TAKE OWNERSHIP на указанный полнотекстовый каталог.
Замечания
Идентификаторы полнотекстовых каталогов начинаются с 00005 и увеличиваются на единицу для каждого вновь создаваемого каталога.
Разрешения
Пользователь должен иметь разрешение 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