CREATE FULLTEXT CATALOG (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
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.
Não é possível criar catálogos de texto completo nos bancos de dados master, model ou tempdb.
Importante
A partir do SQL Server 2008 (10.0.x), 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.
Convenções de sintaxe de 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 (10.0.x), essa cláusula não tem nenhum efeito.
IN PATH 'rootpath'
Observação
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.
A partir do SQL Server 2008 (10.0.x), 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 na ordenação de banco de dados. Para exibir a ordenação de banco de dados, use a exibição do catálogo sys.databases.
Para determinar a configuração atual da propriedade de distinção de acentos de um catálogo de texto completo, use a função FULLTEXTCATALOGPROPERTY com o valor da propriedade accentsensitivity em 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 tornará esse catálogo o 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 que executa a instrução deverá ser o proprietário do banco de dados ou o administrador do 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 executa 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.
O usuário que executa o comando deve ser o proprietário de banco de dados ou administrador do sistema.
owner_name também deve ter a permissão TAKE OWNERSHIP no catálogo de texto completo especificado.
Comentários
As IDs de catálogos de texto completo iniciam em 00005 e são incrementadas 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 AdventureWorks2022;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO