7 de outubro de 2015
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;
Espero que seja útil…
Abs.
Tiago Neves
