با سلام و خسته نباشید خدمت شما
من یک جدول دارم و full text search را بر روی آن اعمال کرده ام و یکسری فایل را درون فیلد varbinary max اضافه کرده ام فقط می خواهم حجم اطلاعاتی که Index شده است را بدست بیاورم آیا می شود که لحظه ای حجم اطلاعات index شده را به ما نمایش دهد اگر می توانید یک کد به من معرفی کنید؟
من کوئری زیر را اجرا می کنم اما لحظه ای به من حجم ایندکس ها را نمایش نمی دهد حتما باید یک فرگمنت اضافه بشود تا حجم ایندکس ها اضافه بشود چرا باید فرگمنت اضافه بشود تا حجم ایندکس ها را به ما نمایش بدهد چرا لحظه ای نمایش نمی دهد مثلا ما 100 رکورد اضافه کرده ایم اما هیچ رکوردی اضافه نمی شود پس نمی توانیم هم حجم اینکدس ها را داشته باشیم و هم نمی توانیم به صورت لحظه ای درصد فرگمنت هم داشته باشیم؟
کد:
WITH FragmentationDetails
AS (
	SELECT 
		table_id,
        COUNT(*) AS FragmentsCount,
        CONVERT(DECIMAL(9,2), SUM(data_size/(1024.*1024.))) AS IndexSizeMb,
        CONVERT(DECIMAL(9,2), MAX(data_size/(1024.*1024.))) AS largest_fragment_mb
    FROM sys.fulltext_index_fragments
    GROUP BY table_id
)
SELECT 
	DB_NAME()				AS DatabaseName,
	ftc.fulltext_catalog_id AS CatalogId, 
	ftc.[name]				AS CatalogName, 
	fti.change_tracking_state AS ChangeTrackingState,
    fti.object_id				AS BaseObjectId, 
	QUOTENAME(OBJECT_SCHEMA_NAME(fti.object_id)) + '.' + QUOTENAME(OBJECT_NAME(fti.object_id)) AS BaseObjectName,
	f.IndexSizeMb		    AS IndexSizeMb, 
	f.FragmentsCount    	AS FragmentsCount, 
	f.largest_fragment_mb   AS IndexLargestFragmentMb,
	f.IndexSizeMb - f.largest_fragment_mb AS IndexFragmentationSpaceMb,
    CASE
		WHEN f.IndexSizeMb = 0 THEN 0
		ELSE 
			100.0 * (f.IndexSizeMb - f.largest_fragment_mb) / f.IndexSizeMb
	END AS IndexFragmentationPct
FROM 
	sys.fulltext_catalogs ftc
JOIN 
	sys.fulltext_indexes fti
ON 
	fti.fulltext_catalog_id = ftc.fulltext_catalog_id
JOIN FragmentationDetails f
    ON f.table_id = fti.object_id
;
ممنونم که راهنمایی می کنید