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