ALTER FULLTEXT CATALOG (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
フルテキスト カタログのプロパティを変更します。
構文
ALTER FULLTEXT CATALOG catalog_name
{ REBUILD [ WITH ACCENT_SENSITIVITY = { ON | OFF } ]
| REORGANIZE
| AS DEFAULT
}
引数
catalog_name
変更するカタログの名前を指定します。 指定した名前のカタログが存在しない場合、Microsoft SQL Server ではエラーが返され、ALTER 操作は実行されません。
REBUILD
SQL Server でカタログ全体を再構築することを指定します。 カタログの再構築では、既存のカタログが削除され、代わりに新しいカタログが作成されます。 フルテキスト インデックスの参照を持つすべてのテーブルが新しいカタログに関連付けられます。 再構築すると、データベース システム テーブル内のフルテキスト メタデータがリセットされます。
WITH ACCENT_SENSITIVITY = {ON|OFF}
変更するカタログのフルテキスト インデックス作成とクエリ処理において、アクセントを区別するかしないかを指定します。
フルテキスト カタログのアクセントの区別に関する現在のプロパティ設定を確認するには、catalog_name に対して、FULLTEXTCATALOGPROPERTY 関数を accentsensitivity プロパティ値と共に使用します。 この関数で '1' が返された場合、フルテキスト カタログではアクセントが区別され、'0' が返された場合、アクセントは区別されません。
アクセントの区別は、既定ではカタログとデータベースで同じになっています。
REORGANIZE
SQL Server で "マスター マージ" を実行することを指定します。マスター マージでは、インデックス処理の過程で作成された小さいインデックスを 1 つの大きなインデックスにマージする処理も行われます。 フルテキスト インデックス フラグメントをマージすると、パフォーマンスが向上し、ディスクとメモリのリソースを解放できます。 フルテキスト カタログが頻繁に変更される場合は、このコマンドを定期的に使用して、フルテキスト カタログを再構成してください。
REORGANIZE では、内部のインデックスおよびカタログの構造を最適化する処理も行われます。
インデックスが設定されるデータの量によっては、マスター マージの完了までに時間がかかる場合があります。 マスター マージで大量のデータを処理すると、実行時間が長いトランザクションが発生し、チェックポイント時のログの切り捨てが遅れる場合があります。 この場合、完全復旧モデルでは、トランザクション ログが非常に大きくなることがあります。 完全復旧モデルを使用するデータベースで大きなフルテキスト インデックスを再編成する前に、実行時間が長いトランザクションのための十分な領域をトランザクション ログに割り当てることをお勧めします。 詳細については、「 トランザクション ログ ファイルのサイズの管理」を参照してください。
AS DEFAULT
このカタログが既定のカタログであることを指定します。 カタログを指定せずにフルテキスト インデックスを作成すると、既定のカタログが使用されます。 既定のフルテキスト カタログが既に存在する場合、このカタログを AS DEFAULT に設定すると、既存の既定値がオーバーライドされます。
アクセス許可
フルテキスト カタログに対する ALTER 権限が与えられているか、db_owner 固定データベース ロール、db_ddladmin 固定データベース ロール、または sysadmin 固定サーバー ロールのメンバーであることが必要です。
Note
ALTER FULLTEXT CATALOG AS DEFAULT を使用するには、フルテキスト カタログに対する ALTER 権限およびデータベースに対する CREATE FULLTEXT CATALOG 権限が必要です。
例
次の例では、アクセントを区別する既定のフルテキスト カタログ ftCatalog
の accentsensitivity
プロパティを変更します。
--Change to accent insensitive
USE AdventureWorks2022;
GO
ALTER FULLTEXT CATALOG ftCatalog
REBUILD WITH ACCENT_SENSITIVITY=OFF;
GO
-- Check Accentsensitivity
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity');
GO
--Returned 0, which means the catalog is not accent sensitive.
関連項目
sys.fulltext_catalogs (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)
フルテキスト検索