Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Express avec services avancés, impossible de créer un index de texte intégral

Vous ne pouvez pas le faire via l'assistant, car il y a quelques bogues. Même si j'ai choisi de ne pas suivre les modifications et de ne pas remplir l'index une fois terminé, j'ai toujours eu une erreur à propos de SQL Agent :

Malgré l'erreur, j'ai pu continuer, mais à une étape ultérieure, j'ai finalement reçu l'erreur que vous avez faite. Cependant, je n'ai eu aucun problème à faire ce qui suit dans DDL :

CREATE TABLE dbo.x
(
  x NVARCHAR(255) NOT NULL CONSTRAINT uq_x UNIQUE(x)
);
GO
CREATE FULLTEXT CATALOG x_catalog;
GO
CREATE FULLTEXT INDEX 
  ON dbo.x(x LANGUAGE 1033) 
  KEY INDEX uq_x ON x_catalog; 
GO

Cela montre qu'Express prend certainement en charge le texte intégral, c'est juste l'interface utilisateur qui est un peu confuse. Je soupçonne qu'il ne sait pas comment déterminer la version d'Express que vous utilisez réellement.

Donc, à court terme, je recommanderais d'utiliser DDL au lieu de l'interface utilisateur. En fait, étant donné que l'interface utilisateur ne semble se déclencher qu'à la création du catalogue, vous pouvez utiliser l'interface utilisateur pour créer les index si vous créez d'abord le catalogue via DDL...

CREATE FULLTEXT CATALOG x_catalog;

... puis choisissez ce catalogue lorsque vous parcourez l'assistant, au lieu d'en créer un nouveau. Bien sûr, vous devrez également ignorer l'exception concernant l'Agent SQL Server, mais cela n'arrête pas l'assistant, vous pouvez simplement cliquer sur OK et l'ignorer.

J'ai déposé un élément Connect contre Management Studio, veuillez voter pour lui et j'espère que cela sera corrigé :

Je ne sais pas si cet élément a été traité ou s'il est passé au nouveau système de rétroaction. J'ai commencé à le rechercher mais bonne chance.