BI Blog

SQL Server: come elencare filegroup di tabelle e indici

Se si dispone di un database con più file fisici, è possibile raggruppare ogni file in un filegroup e archiviare una tabella o un indice cluster nel filegroup preferito.

I report di query seguenti per ogni tabella in cui viene archiviato il filegroup e la dimensione della tabella in MB:


Selezionare
FILEGROUP_NAME(AU.data_space_id) AS FileGroup,
OBJECT_NAME(Parti.object_id) AS NomeTabella,
ind.name AS ClusteredIndexName,
AU.total_pages/128 AS DimensioneTabella_MB,
AU.used_pages/128 AS UsedSize_MB,
AU.data_pages/128 AS DataSize_MB
FROM sys.allocation_units AS AU
INNER JOIN sys.partitions AS Parti ON AU.container_id : CASE AU AU.type in(1,3) THEN Parti.hobt_id ELSE Parti.partition_id END
SINISTRA JOIN sys.indexes AS ind ON ind.object_id : Parti.object_id AND ind.index_id - Parti.index_id
ORDER BY FILEGROUP_NAME(AU.data_space_id), AU.total_pages/128 DESC

Leave a Reply