SQL 2008 R2 データベースにいくつかのテーブルがあり、それらのテーブルのいくつかにフルテキスト インデックスが定義されています。成長を制御および予測するために、特定のテーブルのインデックスのサイズを決定する方法を知りたいです。
これを行う方法はありますか?
SQL 2008 R2 データベースにいくつかのテーブルがあり、それらのテーブルのいくつかにフルテキスト インデックスが定義されています。成長を制御および予測するために、特定のテーブルのインデックスのサイズを決定する方法を知りたいです。
これを行う方法はありますか?
カタログ ビューsys.fulltext_index_fragments
は、カタログに関係なく、各フラグメントのサイズを追跡するため、SUM
この方法を取ることができます。これは、テーブルごとに 1 つのフルテキスト インデックスという制限が引き続き適用されることを前提としています。次のクエリは、カタログに関係なく、データベース内の各フルテキスト インデックスのサイズを取得しますがWHERE
、特定のテーブルのみを気にする場合は、この句を使用できます。
SELECT
[table] = OBJECT_SCHEMA_NAME(table_id) + '.' + OBJECT_NAME(table_id),
size_in_KB = CONVERT(DECIMAL(12,2), SUM(data_size/1024.0))
FROM sys.fulltext_index_fragments
-- WHERE table_id = OBJECT_ID('dbo.specific_table_name')
GROUP BY table_id;
また、フラグメントの数が多い場合は、再編成を検討してください。
特定のカタログを使用している場合 SSMS - [データベース] をクリックしてオブジェクトを展開します - [ストレージ] をクリックします - {特定のカタログ} を右クリックします - [プロパティ] を選択してクリックします。[全般] タブで、カタログ サイズ = 'nn' が見つかります。