none
Erro ao criar índice FULLTEXT RRS feed

  • Pergunta


  • Boa tarde

    Estou tentando me assimilar com Pesquisa de texto completo e estou enfrentando alguns problemas.

    CREATE TABLE [dbo].[Sintomas] (
        [Código do Sintoma] BIGINT      IDENTITY (1, 1) NOT NULL,
        [Sintomas]          NCHAR UNIQUE NOT NULL,
        PRIMARY KEY CLUSTERED ([Código do Sintoma] ASC)
    );
    CREATE FULLTEXT CATALOG CatalogoDeTexto AS DEFAULT

    Ao executar:

    CREATE FULLTEXT INDEX ON Sintomas 
    	(Sintomas) KEY INDEX [Código do Sintoma]

    Me deparo com o erro:

    Mensagem 7653, Nível 16, Estado 1, Linha 2
    'Código do Sintoma' não é um índice válido para impor uma chave de pesquisa de texto completo. Essa chave deve ser um índice de coluna única exclusivo que não permita valores nulos, não esteja offline nem definido em uma coluna computada não determinística ou não persistente imprecisa, não tenha um filtro e tenha um tamanho máximo de 900 bytes. Escolha outro índice para a chave de texto completo.

    SQL Server 2012 SP1 Express Edition With Advanced Services x64


    Dalto Blanco - Ciência da computação

    sábado, 9 de agosto de 2014 19:23

Respostas

  • Dalto,

        Eu não fiz o teste via ferramenta visual, não tenho o SQL Express with Advanced Services. Entretanto, não acho que o problema está associado ao bug relatado pelo Durval.

    O seu problema é que você está tentando criar um índice Fulltext sem a indicação do índice correspondente. Você obrigatoriamente precisa indicar para o comando KEY INDEX o nome de um índice para que o FT funcione corretamente. Eu reescrevi o seu create table para que o comando funcione.

    create table Sintomas (codigo bigint identity(1,1) not null,
    Sintoma nchar unique not null,
    constraint PK_Sintomas primary key clustered (Codigo) )
    go
    -- Criar o Fulltext Catalog caso você ainda não tenha criado
    -- CREATE FULLTEXT CATALOG [FTC_Sintomas] WITH ACCENT_SENSITIVITY = OFF AS DEFAULT
    create fulltext index on Sintomas (Sintoma) key index PK_Sintomas

    Espero ter ajudado!


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    segunda-feira, 11 de agosto de 2014 14:30
    Moderador
  • Dalto,

    Existe um bug para criação de catálogos e índices FULL TEXT na versão SQL Server Express 2012 Advanced Services, com chamado ainda pendente para a equipe SQL corrigir.

    Veja abaixo o link com a descrição do chamado pendente.

    https://connect.microsoft.com/SQLServer/feedback/details/740181/management-studio-does-not-fully-manage-full-text-in-sql-server-express

    Acredito que enquanto não for corrigido você não vai conseguir realizar esta tarefa.

    Apesar da data de criação do chamado ser antiga (maio/2012) ainda há esperança de ajustes, mas sem previsão de conclusão.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 11 de agosto de 2014 13:29
    Moderador

Todas as Respostas

  • Dalto,

    Existe um bug para criação de catálogos e índices FULL TEXT na versão SQL Server Express 2012 Advanced Services, com chamado ainda pendente para a equipe SQL corrigir.

    Veja abaixo o link com a descrição do chamado pendente.

    https://connect.microsoft.com/SQLServer/feedback/details/740181/management-studio-does-not-fully-manage-full-text-in-sql-server-express

    Acredito que enquanto não for corrigido você não vai conseguir realizar esta tarefa.

    Apesar da data de criação do chamado ser antiga (maio/2012) ainda há esperança de ajustes, mas sem previsão de conclusão.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 11 de agosto de 2014 13:29
    Moderador
  • Dalto,

        Eu não fiz o teste via ferramenta visual, não tenho o SQL Express with Advanced Services. Entretanto, não acho que o problema está associado ao bug relatado pelo Durval.

    O seu problema é que você está tentando criar um índice Fulltext sem a indicação do índice correspondente. Você obrigatoriamente precisa indicar para o comando KEY INDEX o nome de um índice para que o FT funcione corretamente. Eu reescrevi o seu create table para que o comando funcione.

    create table Sintomas (codigo bigint identity(1,1) not null,
    Sintoma nchar unique not null,
    constraint PK_Sintomas primary key clustered (Codigo) )
    go
    -- Criar o Fulltext Catalog caso você ainda não tenha criado
    -- CREATE FULLTEXT CATALOG [FTC_Sintomas] WITH ACCENT_SENSITIVITY = OFF AS DEFAULT
    create fulltext index on Sintomas (Sintoma) key index PK_Sintomas

    Espero ter ajudado!


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    segunda-feira, 11 de agosto de 2014 14:30
    Moderador