Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Marca ou desmarca uma tabela para indexação de texto completo.
Importante
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 INDEX, ALTER FULLTEXT INDEX e DROP FULLTEXT INDEX.
Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de Dados SQL V12. |
Convenções de sintaxe Transact-SQL
Sintaxe
sp_fulltext_table
[ @tabname= ] 'qualified_table_name'
, [ @action= ] 'action'
[
, [ @ftcat= ] 'fulltext_catalog_name'
, [ @keyname= ] 'unique_index_name'
]
Argumentos
[ @tabname=] 'qualified_table_name'
É um nome de tabela de uma ou duas partes. A tabela deve existir no banco de dados atual.qualified_table_nameé nvarchar(517), sem padrão.[ @action=] 'action'
É a ação a ser executada.action é nvarchar(50), sem padrão e pode ter um destes valores.Valor
Descrição
Criar
Cria os metadados em um índice de texto completo para a tabela referenciada por qualified_table_name e especifica que os dados de índice de texto completo devem residir em fulltext_catalog_name. Esta ação também designa o uso de unique_index_name como a coluna de chave de texto completo. Este índice exclusivo já deve estar presente e deve ser definido em uma coluna da tabela.
Uma pesquisa de texto completo não pode ser executada nessa tabela até que o catálogo de texto completo seja populado.
Drop
Descarta os metadados no índice de texto completo para qualified_table_name. Se o índice de texto completo for ativo, será desativado automaticamente antes de ser descartado. Não é necessário remover colunas antes de descartar o índice de texto completo.
Ativar
Ativa a capacidade de os dados de índice de texto completo serem coletados para qualified_table_name, depois que ele é desativado. Deve haver pelo menos uma coluna participando do índice de texto completo para que ele seja ativado.
Um índice de texto completo torna-se ativo automaticamente (para população) assim que a primeira coluna é adicionada para indexação. Se a última coluna for descartada do índice, o índice se tornará inativo. Se o controle de alterações estiver ativo, a ativação de um índice inativo inicia um novo população.
Observe que isso não popula realmente o índice de texto completo, mas apenas registra a tabela no catálogo de texto completo no sistema de arquivos, para que as linhas de qualified_table_name possam ser recuperadas durante a próxima população de índice de texto completo.
Deactivate
Desativa o índice de texto completo para qualified_table_name de forma que os dados de índice de texto completo não possam mais ser coletados para o qualified_table_name. Os metadados de índice de texto completo permanecem e a tabela pode ser reativada.
Se o controle de alterações estiver ativo, a desativação de um índice ativo congelará o estado do índice: qualquer população em andamento será interrompido e mais nenhuma alteração será propagada para o índice.
start_change_tracking
Inicia uma população incremental do índice de texto completo. Se a tabela não tiver um carimbo de data/hora, inicia uma população completa do índice de texto completo. Inicia o controle de alterações na tabela.
O controle de alterações de texto completo não controla nenhuma operação WRITETEXT ou UPDATETEXT executada nas colunas indexadas de texto completo que sejam do tipo image, text ou ntext.
stop_change_tracking
Interrompe o controle de alterações na tabela.
update_index
Propaga o conjunto atual de alterações controladas no índice de texto completo.
start_background_updateindex
Inicia a propagação de alterações controladas no índice de texto completo conforme elas ocorrem.
stop_background_updateindex
Interrompe a propagação de alterações controladas no índice de texto completo conforme elas ocorrem.
start_full
Inicia uma população completa do índice de texto completo na tabela.
start_incremental
Inicia uma população incremental do índice de texto completo na tabela.
Parar
Interrompe uma população completa ou incremental.
[ @ftcat=] 'fulltext_catalog_name'
É um nome de catálogo de texto completo válido e existente para uma ação create. Para todas as outras ações, esse parâmetro deve ser NULL.fulltext_catalog_name é sysname, com um padrão de NULL.[ @keyname=] 'unique_index_name'
É um índice exclusivo não anulável de coluna de chave única válido em qualified_table_name para uma ação create. Para todas as outras ações, esse parâmetro deve ser NULL.unique_index_name é sysname, com um padrão de NULL.
Valores do código de retorno
0 (êxito) ou 1 (falha)
Conjuntos de resultados
Nenhum.
Comentários
Depois que um índice de texto completo é desativado para uma determinada tabela, o índice de texto completo existente permanece em vigor até a próxima população completa; entretanto, esse índice não é usado porque o MicrosoftSQL Server bloqueia consultas em tabelas desativadas.
Se a tabela é reativada e o índice não é populado novamente, o antigo índice permanece disponível para consultas em qualquer coluna restante habilitada para texto completo que não seja nova. É feita a correspondência de dados de colunas excluídas nas consultas que especificam uma pesquisa de todas as colunas de texto completo.
Depois que uma tabela é definida para indexação de texto completo, a alternância da coluna de chave exclusiva de texto completo de um tipo de dados para outro, seja alterando o tipo de dados dessa coluna ou a chave exclusiva de texto completo de uma coluna para outra, sem uma nova população completa, pode fazer com que ocorra uma falha durante uma consulta subsequente e seja retornada a mensagem de erro: "A conversão para o tipo data_type falhou para o valor de chave de pesquisa de texto completo key_value". Para evitar isso, descarte a definição de texto completo para essa tabela usando a ação drop de sp_fulltext_table e redefine-a usando sp_fulltext_table e sp_fulltext_column.
A coluna de chave de texto completo deve ser definida para ter 900 bytes ou menos. É recomendável que o tamanho da coluna de chave seja o menor possível por motivos de desempenho.
Permissões
Somente membros da função de servidor fixa sysadmin, das funções de banco de dados fixas db_owner e db_ddladmin ou um usuário com permissões de referência no catálogo de texto completo podem executar sp_fulltext_table.
Exemplos
A. Habilitando uma tabela para indexação de texto completo
O exemplo a seguir cria metadados do índice de texto completo da tabela Document do banco de dados AdventureWorks.Cat_Desc é um catálogo de texto completo.PK_Document_DocumentID é um índice exclusivo de uma única coluna em Document.
USE AdventureWorks2012;
GO
EXEC sp_fulltext_table 'Production.Document', 'create', 'Cat_Desc', 'PK_Document_DocumentID';
--Add some columns
EXEC sp_fulltext_column 'Production.Document','DocumentSummary','add';
-- Activate the full-text index
EXEC sp_fulltext_table 'Production.Document','activate';
GO
B. Ativando e propagando alterações controladas
O exemplo a seguir ativa e inicia a propagação alterações controladas no índice de texto completo conforme elas ocorrem.
USE AdventureWorks2012;
GO
EXEC sp_fulltext_table 'Production.Document', 'Start_change_tracking';
EXEC sp_fulltext_table 'Production.Document', 'Start_background_updateindex';
GO
C. Removendo um índice de texto completo
Este exemplo remove os metadados de índice de texto completo para a tabela Document do banco de dados AdventureWorks.
USE AdventureWorks2012;
GO
EXEC sp_fulltext_table 'Production.Document', 'drop';
GO
Consulte também
INDEXPROPERTY (Transact-SQL)
OBJECTPROPERTY (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
sp_helpindex (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)
Procedimentos armazenados de pesquisa de texto completo e pesquisa semântica (Transact-SQL)