SQL を使用した SQL Server でのフルテキスト カタログの作成
SQL クエリ エディタの SQL コマンドを使用して、SQL Server でフルテキスト カタログを作成することができます。
以下の手順では、特定のフルテキスト カタログに対する REFERENCES 権限をユーザまたはロールに割り当てます。後で別のフルテキスト カタログを、たとえば別の XML 列によって使用されるデータベースに追加する場合は、新しいフルテキスト カタログに対する REFERENCES 権限も割り当てる必要があります。この権限を別の方法で割り当てたい場合は、この後の該当するステップをスキップし、データベースに適切な GRANT ステートメントを発行します。
手順:
-
[SQL クエリ エディタ] ウィンドウで次のクエリを入力して実行し、データベースでフルテキスト検索が有効になっているかどうかを確認します。たとえば、データベースの名前が mygdb の場合は、次のクエリを実行します。
SELECT DATABASEPROPERTY('mygdb', 'IsFulltextEnabled');
1 の値が返された場合、フルテキスト検索はすでに有効になっているので、ステップ 7 に進みます。他の値が返された場合は、作業を続行する前に、Management Studio を使用してフルテキスト検索を有効にする必要があります。
- SQL Server Management Studio のオブジェクト エクスプローラで、該当する SQL Server の横にある [+] 記号をクリックし、[データベース] の横にある [+] 記号をクリックします。
- XML 列を作成するデータベースを右クリックし、[プロパティ] をクリックします。
- [データベース プロパティ] ダイアログ ボックスの左側にある [ページの選択] で [ファイル] をクリックします。
- 右側で [フルテキスト インデックスを使用する] がオンでない場合はオンにします。
- [データベース プロパティ] ダイアログ ボックスで [OK] をクリックします。
-
[SQL クエリ エディタ] ウィンドウで、[SQL エディタ] ツールバーのドロップダウン リストを使用するか USE コマンドを実行して、XML 列を作成するデータベースを選択します。次に例を示します。
USE sde;
-
CREATE FULLTEXT CATALOG ステートメントを使用して、データベースにフルテキスト カタログを作成します。
SQL Server 2005 を使用している場合:
CREATE FULLTEXT CATALOG SDE_DEFAULT_CAT IN PATH 'C:\Data\Fulltext' AS DEFAULT;
SQL Server 2008以降 を使用している場合:
CREATE FULLTEXT CATALOG SDE_DEFAULT_CAT AS DEFAULT;
SDE_DEFAULT_CAT 以外の名前を指定する場合は、SDE_dbtune テーブルの DEFAULTS キーワードで XML_IDX_FULLTEXT_CAT パラメータの値を変更する必要があります。必要に応じて、フルテキスト カタログのその他のプロパティを設定することができます。たとえば、次に示すように、フルテキスト インデックス ファイルを格納するディスク上の場所を定義したり、データベースのデフォルトのフルテキスト カタログを設定したりします。
-
このフルテキスト カタログの REFERENCES 権限を XML 列を所有するユーザに割り当てるか、そのユーザが属するロールに割り当てます。
次に例を示します。
GRANT REFERENCES ON FULLTEXT CATALOG :: SDE_DEFAULT_CAT TO dataOwners;
7/10/2012