sp_fulltext_column (Transact-SQL)

Especifica se ou não uma determinada coluna de uma tabela participa da indexação de texto completo.

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 ALTER FULLTEXT INDEX.

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

Sintaxe

sp_fulltext_column [ @tabname= ] 'qualified_table_name' , 
     [ @colname= ] 'column_name' , 
     [ @action= ] 'action' 
     [ , [ @language= ] 'language_term' ] 
     [ , [ @type_colname= ] 'type_column_name' ]

Argumentos

  • [ @tabname= ] 'qualified_table_name'
    É um nome de tabela de uma ou duas partes. A tabela deve existir no banco de dados atual. A tabela deve ter um índice de texto completo. qualified_table_name é nvarchar(517), sem nenhum valor padrão.

  • [ @colname= ] 'column_name'
    É o nome de uma coluna em qualified_table_name. A coluna deve ser um caractere, coluna varbinary(max) ou image e não pode ser uma coluna computada. column_name é sysname, sem nenhum padrão.

    ObservaçãoObservação

    O SQL Server pode criar índices de texto completo de dados de texto armazenados em colunas que são do tipo de dados varbinary(max) ou image. Imagens e figuras não são indexadas.

  • [ @action= ] 'action'
    É a ação a ser executada. action é varchar(20), sem nenhum valor padrão, e pode ter um dos seguintes valores.

    Valor

    Descrição

    add

    Adiciona o column_name do qualified_table_name ao índice de texto completo inativo da tabela. Esta ação habilita a coluna para indexação de texto completo.

    drop

    Remove column_name de qualified_table_name do índice de texto completo inativo da tabela.

  • [ @language= ] 'language_term'
    É o idioma dos dados armazenados na coluna. Para obter uma lista dos idiomas incluídos no SQL Server, consulte sys.fulltext_languages (Transact-SQL).

    ObservaçãoObservação

    Use 'Neutro' quando uma coluna tiver dados em vários idiomas ou em um idioma sem-suporte. O padrão é especificado pela opção de configuração 'default full-text language.'

  • [ @type_colname = ] 'type_column_name'
    É o nome de uma coluna em qualified_table_name que contém o tipo de documento de column_name. Essa coluna deve ser char, nchar, varcharou nvarchar. É usada somente quando o tipo de dados de column_name for do tipo varbinary(max) ou image. type_column_name é sysname, sem nenhum padrão.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

Se o índice de texto completo estiver ativo, qualquer população em andamento será interrompida. Além disso, se o controle de alterações estiver habilitado em uma tabela com um índice de texto completo ativo, o SQL Server assegura que o índice seja atual. Por exemplo, o SQL Server interrompe qualquer população atual na tabela, descarta o índice existente e inicia uma nova população.

Se o controle de alterações estiver ativo e for necessário adicionar ou descartar colunas do índice de texto completo, mas mantendo o índice preservado, a tabela deverá ser desativada e as colunas necessárias deverão ser adicionadas ou descartadas. Essas ações congelam o índice. A tabela pode ser ativada mais tarde, quando o início de uma população for praticável.

Permissões

O usuário pode ser um membro da função de banco de dados fixa db_ddladmin ou db_owner, ou o proprietário da tabela.

Exemplos

O exemplo a seguir adiciona a coluna DocumentSummary da tabela Document ao índice de texto completo da tabela.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

O exemplo a seguir supõe que você criou um índice de texto completo em uma tabela chamada spanishTbl. Para adicionar a coluna spanishCol ao índice de texto completo, execute o seguinte procedimento armazenado:

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

Quando você executa esta consulta:

SELECT * 
FROM spanishTbl 
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')

O conjunto de resultados inclui linhas com formas diferentes de trabajar (trabalhar), como trabajo, trabajamose trabajan.

ObservaçãoObservação

Todas as colunas listadas em uma única cláusula de função de consulta de texto completo devem usar o mesmo idioma.