Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Express con servizi avanzati, non è possibile creare un indice full-text

Non puoi farlo tramite la procedura guidata, perché ci sono un paio di bug. Anche se ho scelto di non tenere traccia delle modifiche e di non popolare l'indice al termine, ho comunque ricevuto un errore su SQL Agent:

Nonostante l'errore, sono stato in grado di procedere, ma in un passaggio successivo ho finalmente ricevuto l'errore che hai ricevuto. Tuttavia non ho avuto problemi a fare quanto segue in 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

Questo mostra che Express supporta sicuramente il full-text, è solo l'interfaccia utente che è un po' confusa. Sospetto che non sappia come dire quale versione di Express hai effettivamente in esecuzione.

Quindi, a breve termine, consiglierei di utilizzare DDL invece dell'interfaccia utente. Infatti, poiché l'interfaccia utente sembra inciampare solo durante la creazione del catalogo, è possibile utilizzare l'interfaccia utente per creare gli indici se si crea prima il catalogo tramite DDL...

CREATE FULLTEXT CATALOG x_catalog;

...e poi scegli quel catalogo durante la procedura guidata, invece di crearne uno nuovo. Ovviamente dovrai anche ignorare l'eccezione relativa a SQL Server Agent, ma non interrompe la procedura guidata, puoi semplicemente fare clic su OK e ignorarla.

Ho presentato una richiesta Connect contro Management Studio, vota a favore e spero che questo venga corretto :

Non so se quell'articolo è stato indirizzato o se è passato al nuovo sistema di feedback. ho iniziato a cercarlo ma buona fortuna.