CONTAINSTABLEは一度に1つのテーブルのFTSインデックスしか検索できないため、これは難しい問題です。上記のUNIONソリューションは、パフォーマンスが許容範囲内である限り問題ありません。
1回のクエリで多くのテーブルから多くの列を効率的に検索する必要があるという同じ問題に直面しました。これらの列とテーブルのすべてのデータを単一の読み取り専用テーブルに集約しました。その場合、クエリには1回のCONTAINSTABLE呼び出しのみが必要でした
CONTAINSTABLE(AggregatedTable, AggregatedColumn, @FtsQuery)
5〜10分ごとに実行され、変更されたコンテンツをソーステーブルから単一の読み取り専用の集約コンテンツテーブルに段階的に集約するスケジュールされたジョブがあります。
一般に、適度なサイズのデータベースとユーザー負荷でFTSを使用するということは、常にパフォーマンスと戦っていることを意味しているようです。何をしても許容できるパフォーマンスが得られない場合は、 Lucene 。