sp_fulltext_catalog (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
フルテキスト カタログの作成と削除、およびカタログのインデックス作成の開始と中止を行います。 データベースごとに複数のフルテキスト カタログを作成できます。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、CREATE FULLTEXT CATALOG、ALTER FULLTEXT CATALOG、DROP FULLTEXT CATALOG を使用してください。
構文
sp_fulltext_catalog
[ @ftcat = ] N'ftcat'
, [ @action = ] 'action'
[ , [ @path = ] N'path' ]
[ ; ]
引数
[ @ftcat = ] N'ftcat'
フルテキスト カタログの名前です。 カタログ名は、データベースごとに一意である必要があります。 @ftcatは sysname で、既定値はありません。
[ @action = ] 'action'
実行するアクション。 @actionは varchar(20) であり、これらの値のいずれかを指定できます。
Note
フルテキスト カタログは、必要に応じて作成、削除、および変更できます。 複数のカタログで同時にスキーマを変更することは避けてください。 これらのアクションは、ストアド プロシージャを sp_fulltext_table
使用して実行できます。これが推奨される方法です。
Value | 説明 |
---|---|
create | ファイル システムに空の新しいフルテキスト カタログを作成し、関連付けられている行sysfulltextcatalogs を@ftcatと@path (存在する場合) に追加します。 @ftcatデータベース内で一意である必要があります。 |
drop | ファイル システムから削除し、関連付けられている行sysfulltextcatalogs を削除して、@ftcatを削除します。 このカタログに 1 つ以上のテーブルのインデックスが含まれている場合、このアクションは失敗します。 sp_fulltext_table '<table_name>', 'drop' は、カタログからテーブルを削除するために実行する必要があります。カタログが存在しない場合は、エラーが表示されます。 |
start_incremental | @ftcatの増分作成を開始します。 カタログが存在しない場合は、エラーが表示されます。 フルテキスト インデックスの作成が既にアクティブな場合は、警告が表示されますが、作成アクションは発生しません。 増分作成では、フルテキスト インデックス作成のために変更された行のみが取得されます。テーブルにフルテキスト インデックスが作成されているタイムスタンプ列がある場合。 |
start_full | @ftcatの完全作成を開始します。 このフルテキスト カタログに関連付けられているすべてのテーブルのすべての行は、既にインデックスが作成されている場合でも、フルテキスト インデックス作成のために取得されます。 |
stop | @ftcatのインデックス作成を停止します。 カタログが存在しない場合は、エラーが表示されます。 インデックスの作成を既に中止している場合、警告は表示されません。 |
再構築 | @ftcatを再構築します。 カタログの再構築では、既存のカタログが削除され、代わりに新しいカタログが作成されます。 フルテキスト インデックスの参照を持つすべてのテーブルが新しいカタログに関連付けられます。 再構築すると、データベース システム テーブル内のフルテキスト メタデータがリセットされます。 変更の追跡がオフの場合、再構築しても、新しく作成されたフルテキスト カタログが再入力されることはありません。 この場合、再入力するには、start_fullまたはstart_incrementalアクションを使用して実行 sp_fulltext_catalog します。 |
[ @path = ] N'path'
作成アクションのルート ディレクトリ (完全な物理パスではありません)。 @pathは nvarchar(100) で、既定値は NULL
、セットアップ時に指定された既定の場所の使用を示します。
これはディレクトリ内MSSQL
のFTData
サブディレクトリです。たとえば、 C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\FTData
指定したルート ディレクトリは、同じコンピューター上のドライブ上に存在する必要があり、ドライブ文字以上で構成され、相対パスにすることはできません。 ネットワーク ドライブ、リムーバブル ドライブ、フロッピー ディスク、UNC パスはサポートされていません。 フルテキスト カタログは、SQL Server のインスタンスに関連付けられているローカル ハード ドライブに作成する必要があります。
@pathは、@actionの作成時にのみ有効です。 create (停止、再構築など) 以外のアクションの場合、@pathは NULL または省略する必要があります。
SQL Server のインスタンスがクラスター内の仮想サーバーである場合、指定されたカタログ ディレクトリは、SQL Server リソースが依存する共有ディスク ドライブ上にある必要があります。 @path指定されていない場合、既定のカタログ ディレクトリの場所は、仮想サーバーのインストール時に指定されたディレクトリ内の共有ディスク ドライブにあります。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
start_fullアクションは、@ftcatでフルテキスト データの完全なスナップショットを作成するために使用されます。 start_incrementalアクションは、データベース内の変更された行のインデックスを再作成するために使用されます。 増分作成は、テーブルに型 タイムスタンプの列がある場合にのみ適用できます。 フルテキスト カタログ内のテーブルに型 タイムスタンプの列が含まれていない場合、テーブルは完全に作成されます。
フルテキスト カタログおよびインデックス データは、フルテキスト カタログ ディレクトリに作成したファイルに格納されます。 フルテキスト カタログ ディレクトリは、@path で指定されたディレクトリのサブディレクトリとして作成されます。指定されていない場合は、サーバーの既定のフルテキスト カタログ ディレクトリ@path作成されます。 フルテキスト カタログ ディレクトリの名前は、サーバー上で一意であることを保証する方法で構築されます。 そのため、サーバー上のすべてのフルテキスト カタログ ディレクトリで同じパスを共有できます。
アクセス許可
呼び出し元は、db_owner ロールのメンバーである必要があります。 要求されたアクションに応じて、呼び出し元は、ターゲットのフルテキスト カタログに対する ALTER または CONTROL のアクセス許可 (db_owner が持つ) を拒否しないでください。
例
A. フルテキスト カタログを作成する
この例では、 Cat_Desc
空のフルテキスト カタログをデータベースに AdventureWorks2022
作成します。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';
GO
B. フルテキスト カタログを再構築する
次の使用例は、 Cat_Desc
データベース内の既存のフルテキスト カタログを AdventureWorks2022
再構築します。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO
C: フルテキスト カタログの作成を開始する
この例では、カタログの完全な作成を Cat_Desc
開始します。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO
D. フルテキスト カタログの作成を停止する
次の使用例は、カタログの作成を Cat_Desc
停止します。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';
GO
E. フルテキスト カタログを削除する
この例では、カタログを削除します Cat_Desc
。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示