Vous ne pouvez créer un index de texte intégral que sur un vue indexée , c'est pourquoi vous obtenez l'erreur. Pour créer une recherche de texte intégral sur une table ou une vue, celle-ci doit avoir un index unique, à colonne unique et non nullable.
En d'autres termes, vous devriez créer votre vue comme ceci :
CREATE VIEW ViewSearch WITH SCHEMABINDING AS
SELECT Persons.P_Id AS ID, Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders ON Persons.P_Id=Orders.P_Id
GO
CREATE UNIQUE CLUSTERED INDEX IX_ViewSearch ON ViewSearch (ID)
La recherche de texte intégral SQL crée un index de texte intégral via un processus appelé population, qui remplit l'index avec des mots et les emplacements où ils se trouvent dans vos tables et vos lignes. C'est pourquoi vous avez besoin d'un champ qui vous identifiera de manière unique à chaque ligne et c'est pourquoi vous devez indexer la vue.
Plus d'informations ici .