Verificando o filegroup de uma tabela

Olá pessoal, tudo certo?

No post de hoje vou compartilhar um script que usei esta semana.

Estava precisando saber a quantidade de filegroup de uma tabela e quantidade de registro por filegroup, então fiz uma query  utilizando algumas views de sistema do SQL Server: sys.objects, sys.partitions, sys.allocation_units, sys.tables, sys.data_spaces e sys.database_files.

Estas views retornam algumas informações como: nome do Filegroup, Tabela, Arquivo de dados em que esta tabela está localizada, total de paginas e registros.

SELECT DISTINCT
    DS.name  FILEGROUP_NAME,
    O.name  [TABLE],
    DB.physical_name  ARQUIVO,
	A.total_pages Total_Paginas ,
    P.rows Total_Registro
FROM
    sys.objects O
    INNER JOIN sys.partitions P ON O.object_id = P.object_id
    INNER JOIN sys.allocation_units A ON A.container_id = P.hobt_id
    INNER JOIN sys.tables T ON O.object_id = T.object_id
    INNER JOIN sys.data_spaces DS ON DS.data_space_id = A.data_space_id
    INNER JOIN sys.database_files DB ON DB.data_space_id = DS.data_space_id
WHERE
    index_id = 1;

filegroup

Espero que seja útil…

Abs.

Tiago Neves

Deixe uma resposta