sp_fulltext_catalog (Transact-SQL)

Cria e descarta um catálogo de texto completo e inicia e interrompe a ação de indexação para um catálogo. Catálogos de texto completo podem ser criados para cada banco de dados.

Observação importanteImportante

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. Em vez disso, use CREATE FULLTEXT CATALOG, ALTER FULLTEXT CATALOG e DROP FULLTEXT CATALOG.

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

Sintaxe

sp_fulltext_catalog [ @ftcat= ] 'fulltext_catalog_name' , 
     [ @action= ] 'action' 
     [ , [ @path= ] 'root_directory' ] 

Argumentos

  • [ @ftcat=] 'fulltext_catalog_name'
    É o nome do catálogo de texto completo. Os nomes de catálogo devem ser exclusivos para cada banco de dados. fulltext_catalog_name é sysname.

  • [ @action=] 'action'
    É a ação a ser executada. action é varchar(20), e pode ser um destes valores.

    ObservaçãoObservação

    Os catálogos de texto completo podem ser criados, descartados e modificados conforme necessário. Entretanto, evite fazer alterações de esquema em vários catálogos ao mesmo tempo. Essas ações podem ser executadas usando o procedimento armazenado sp_fulltext_table, que é o modo recomendado.

    Valor

    Descrição

    Create

    Cria um novo catálogo de texto completo, vazio, no sistema de arquivos e adiciona uma linha associada em sysfulltextcatalogs com os valores fulltext_catalog_name e root_directory, se presentes. fulltext_catalog_name deve ser exclusivo no banco de dados.

    Drop

    Descarta fulltext_catalog_name removendo-o do sistema de arquivos e excluindo a linha associada em sysfulltextcatalogs. Essa ação falhará se esse catálogo contiver índices para uma ou mais tabelas. sp_fulltext_table 'table_name', 'drop' deve ser executado para descartar as tabelas do catálogo.

    Um erro será exibido se o catálogo não existir.

    start_incremental

    Inicia uma população incremental para fulltext_catalog_name. Um erro será exibido se o catálogo não existir. Se uma população de índice de texto completo já estiver ativa, um aviso será exibido, mas nenhuma ação de população ocorrerá. Com a população incremental, somente as linhas alteradas são recuperadas para a indexação de texto completo, contanto que exista uma coluna timestamp presente na tabela que está sendo indexada por texto completo.

    start_full

    Inicia uma população completa para fulltext_catalog_name. Todas as linhas de todas as tabelas associadas a esse catálogo de texto completo são recuperadas para a indexação de texto completo, mesmo que já tenham sido indexadas.

    Stop

    Interrompe uma população de índice para fulltext_catalog_name. Um erro será exibido se o catálogo não existir. Nenhum aviso será exibido se a população já estiver parada.

    Rebuild

    Recria fulltext_catalog_name. Quando um catálogo é recriado, o catálogo existente é excluído e um novo catálogo é criado em seu lugar. Todas as tabelas que têm referências de indexação de texto completo são associadas ao novo catálogo. A recriação redefine os metadados de texto completo nas tabelas do sistema de banco de dados.

    Se o controle de alterações estiver definido como OFF, a recriação não fará com que ocorra um novo preenchimento do catálogo de texto completo recém-criado. Nesse caso, para preencher novamente, execute sp_fulltext_catalog com a ação start_full ou start_incremental.

  • [ @path=] 'root_directory'
    É o diretório raiz (não o caminho físico completo) de uma ação create . root_directory é nvarchar(100) e tem um valor padrão NULL, que indica o uso do local padrão especificado na configuração. Ele é o subdiretório Ftdata no diretório Mssql; por exemplo, C:\Program Files\Microsoft SQL Server\ MSSQL10_50.MSSQLSERVER \MSSQL\FTData. O diretório raiz especificado deve residir em uma unidade no mesmo computador, deve consistir em mais informações além da letra da unidade e não pode ser um caminho relativo. Unidades de rede, unidades removíveis, discos flexíveis e caminhos UNC não têm suporte. Os catálogos de texto completo devem ser criados em um disco rígido local associado a uma instância do SQL Server.

    @path é válido somente quando action é create. Para ações diferentes de create (stop, rebuild etc.), @path deve ser NULL ou omitido.

    Se a instância do SQL Server for um servidor virtual em um cluster, o diretório de catálogo especificado precisará estar em uma unidade de disco compartilhada da qual o recurso do SQL Server seja dependente. Se @path não for especificado, o local do diretório de catálogo padrão será a unidade de disco compartilhada, no diretório especificado quando o servidor virtual foi instalado.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

A ação start_full é usada para criar um instantâneo completo dos dados de texto completo em fulltext_catalog_name. A ação start_incremental é usada para reindexar somente as linhas alteradas no banco de dados. A população incremental só poderá ser aplicada se a tabela tiver uma coluna do tipo timestamp. Se uma tabela no catálogo de texto completo não tiver uma coluna do tipo timestamp, a tabela será totalmente preenchida.

Os dados do catálogo de texto completo e do índice são armazenados em arquivos criados em um diretório de catálogo de texto completo. Esse diretório será criado como um subdiretório do diretório especificado em @path ou no diretório de catálogo de texto completo padrão do servidor se @path não for especificado. O nome do diretório de catálogo de texto completo é criado de uma forma que garante que ele será exclusivo no servidor. Portanto, todos os diretórios de catálogo de texto completo em um servidor podem compartilhar o mesmo caminho.

Permissões

O chamador precisa ser membro da função db_owner. Dependendo da ação solicitada, não devem ser negadas ao chamador as permissões ALTER ou CONTROL (que db_owner possui) no catálogo de texto completo de destino.

Exemplos

A. Criar um catálogo de texto completo

Este exemplo cria um catálogo de texto completo vazio, Cat_Desc, no banco de dados AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';
GO

B. Para recriar um catálogo de texto completo

Este exemplo recria um catálogo de texto completo existente, Cat_Desc, no banco de dados AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO

C. Iniciar a população de um catálogo de texto completo

Este exemplo inicia uma população completa do catálogo Cat_Desc.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO

D. Interromper a população de um catálogo de texto completo

Este exemplo interrompe a população do catálogo Cat_Desc.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';
GO

E. Para remover um catálogo de texto completo

Este exemplo remove o catálogo Cat_Desc.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';
GO