SQL Server 2008 R2データベースで次のエラーが発生します。
フルテキストインデックスが作成されていないため、テーブルまたはインデックス付きビュー 'tblArmy'で
CONTAINS
orFREETEXT
述語を使用できません。
SQL Server 2008 R2データベースで次のエラーが発生します。
フルテキストインデックスが作成されていないため、テーブルまたはインデックス付きビュー 'tblArmy'で
CONTAINS
orFREETEXT
述語を使用できません。
回答:
全文検索機能がインストールされていることを確認してください。
全文検索カタログを作成します。
use AdventureWorks
create fulltext catalog FullTextCatalog as default
select *
from sys.fulltext_catalogs
全文検索インデックスを作成します。
create fulltext index on Production.ProductDescription(Description)
key index PK_ProductDescription_ProductDescriptionID
インデックスを作成する前に、次のことを確認
してください。-テーブルで使用できるフルテキスト検索インデックスは1つだけなので、テーブルにフルテキスト検索インデックスがまだない
- テーブルに一意のインデックスが存在する。インデックスはNULLを許可しない単一キー列に基づいている必要があります。
-フルテキストカタログが存在します。デフォルトのフルテキストカタログがない場合は、フルテキストカタログ名を明示的に指定する必要があります。
SQL Sever Management Studioでステップ2と3を実行できます。オブジェクトエクスプローラーで、テーブルを右クリックし、Full-Text index
メニュー項目を選択してから、Define Full-Text Index...
サブメニュー項目を選択します。フルテキストインデックス作成ウィザードがプロセスをガイドします。まだない場合は、フルテキスト検索カタログも作成されます。
詳細については、MSDNをご覧ください。
回避策CONTAINS
:列にフルテキストインデックスを作成したくない場合、パフォーマンスが優先事項の1つでLIKE
はない場合は、事前の構成を必要としないステートメントを使用できます。
例:文字Qを含むすべての製品を検索します。
SELECT ID, ProductName
FROM [ProductsDB].[dbo].[Products]
WHERE [ProductsDB].[dbo].[Products].ProductName LIKE '%Q%'
フルテキストインデックスを作成するには、テーブルを有効にする必要がある場合があります。
列の全文をtrueに設定するもう1つの解決策があります。
たとえば、これらの解決策は私にはうまくいきませんでした
ALTER TABLE news ADD FULLTEXT(headline, story);
私の解決策。
次のステップ
リフレッシュ
mssql 2014のバージョン
Select * from table
where CONTAINS([Column], '"A00*"')
と同じ%として機能します
where [Column] Like 'A00%'