CREATE FULLTEXT CATALOG (Transact-SQL)

Cria um catálogo de texto completo para um banco de dados. Um catálogo de texto completo pode ter vários índices de texto completo, mas um índice de texto completo só pode fazer parte de um único catálogo de texto completo. Cada banco de dados pode conter zero ou mais catálogos de texto completo.

Você não pode criar catálogos de texto completo nos bancos de dados mestre, modelo ou tempdb.

Observação importanteImportante

A partir do SQL Server 2008, um catálogo de texto completo é um objeto virtual e não pertence a nenhum grupo de arquivos. Um catálogo de texto completo é um conceito lógico que faz referência a um grupo de índices de texto completo.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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}

Argumentos

  • catalog_name
    É o nome do novo catálogo. O nome do catálogo deve ser exclusivo entre todos os nomes de catálogo no banco de dados atual. Além disso, o nome do arquivo que corresponde ao catálogo de texto completo (consulte ON FILEGROUP) deve ser exclusivo entre todos os arquivos no banco de dados. Se o nome do catálogo já for usado para outro catálogo no banco de dados, o SQL Server retornará um erro.

    O comprimento do nome de catálogo não pode exceder 120 caracteres.

  • ON FILEGROUP filegroup
    A partir do SQL Server 2008, essa cláusula não tem nenhum efeito.

  • IN PATH 'rootpath'

    ObservaçãoObservação

    Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

    A partir do SQL Server 2008, essa cláusula não tem nenhum efeito.

  • ACCENT_SENSITIVITY = {ON|OFF}
    Especifica se o catálogo a ser alterado diferencia ou não acentos para indexação de texto completo. Quando esta propriedade é alterada, o índice deve ser recriado. O padrão é usar a diferenciação de acentos especificada no agrupamento de banco de dados. Para exibir o agrupamento de banco de dados, use a exibição do catálogo sys.databases.

    Para determinar a configuração atual da propriedade de diferenciação de acentuação de um catálogo de texto completo, use a função FULLTEXTCATALOGPROPERTY com o valor da propriedade accentsensitivity em relação ao catalog_name. Se o valor retornado é '1', o catálogo de texto completo diferencia acentuação; se o valor é '0', o catálogo não diferencia acentuação.

  • AS DEFAULT
    Especifica que o catálogo é o padrão. Quando forem criados índices de texto completo sem um catálogo de texto completo explicitamente especificado, o catálogo padrão será usado. Se um catálogo de texto completo existente já estiver marcado como AS DEFAULT, a configuração AS DEFAULT desse novo catálogo o tornará padrão.

  • AUTHORIZATION owner_name
    Define o proprietário do catálogo de texto completo como o nome de um usuário ou uma função de banco de dados. Se owner_name for uma função, a função deverá ser o nome de uma função da qual o usuário atual é membro, ou o usuário executando a instrução deverá ser o proprietário do banco de dados ou administrador de sistema.

    Se owner_name for um nome de usuário, o nome de usuário deverá ser um dos seguintes:

    • O nome do usuário que executou a instrução.

    • O nome de um usuário para o qual o usuário que executa o comando tem permissões de representação.

    • Ou o usuário que executa o comando deve ser o proprietário de banco de dados ou administrador de sistema.

    owner_name também deve ter a permissão TAKE OWNERSHIP no catálogo de texto completo especificado.

Comentários

Os identificadores de catálogos de texto completo iniciam em 00005 e são incrementados em um para cada catálogo novo criado.

Permissões

O usuário deve ter a permissão CREATE FULLTEXT CATALOG no banco de dados ou ser um membro das funções de banco de dados fixas db_owner ou db_ddladmin.

Exemplos

O exemplo a seguir cria um catálogo de texto completo e também um índice de texto completo.

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