none
Objetos de um filegroup RRS feed

  • Pergunta

  • Caras,

    Tenho em meu banco um um mdf e um ndf que foi criado para testes...e deveria estar em branco, porém ontem fui ver e está com 67gb, onde diz que apenas 5gb estão em branco.
    Como faço para saber quais objetos estão neste filegroup?
    Como posso removê-lo?

    Abraço,
    • Movido Gustavo Maia Aguiar sábado, 5 de dezembro de 2009 13:50 (De:SQL Server - Desenvolvimento Geral)
    terça-feira, 1 de dezembro de 2009 19:03

Respostas

  • Riley,

         Veja se isso ajuda para você descobrir os objetos no filegroup:

    USE AdventureWorks;
    GO
    SELECT o.name AS table_name,p.index_id, i.name AS index_name , au.type_desc AS allocation_type, FG.name, au.data_pages, partition_number
    FROM sys.allocation_units AS au
        JOIN sys.partitions AS p ON au.container_id = p.partition_id
        JOIN sys.objects AS o ON p.object_id = o.object_id
        JOIN sys.indexes AS i ON p.index_id = i.index_id AND i.object_id = p.object_id
        join sys.filegroups FG on au.data_space_id = FG.data_space_id
    ORDER BY o.name, p.index_id;
    

    Outra alternativa:

    select s.groupname AS FILEGROUP, object_name(i.id) AS OBJECT, i.name AS INDEX_NAME
         from sysfilegroups s, sysindexes i
         where i.groupid = s.groupid


    MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008
    • Marcado como Resposta Jason DBA Jr quarta-feira, 23 de fevereiro de 2011 11:57
    sábado, 5 de dezembro de 2009 12:45
    Moderador

Todas as Respostas

  • Dbcc ShrinkFile ( nome_arquivo, Tamanho)

    olhe no books on line

    como vc. criou , dropou objetos la ele foi alocando espaco, ele nao vai diminuir seu datafile ate que vc, srhink ele.

    se for o arquivo de log que estiver grande basta um backup log nome_base with truncate only

    qq coisa retorne.
    mcolla@bol.com.br
    quarta-feira, 2 de dezembro de 2009 10:29
  • Bom Dia,

    Você tem dois arquivos ou tem dois filegroups ?

    É possível que você tenha dois arquivos no mesmo FILEGROUP PRIMARY ou ter dois FILEGROUPs (um arquivo pra cada). Qual é a sua situação ? E qual o nome do outro FILEGROUP (se houver) ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!814.entry
    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 2 de dezembro de 2009 10:35
  • Riley,

    É um filegroup com dois arquivos?

    Ou dois arquivos distintos com filegroups distintos?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 2 de dezembro de 2009 13:20
    Moderador
  • Tenho dois filegroups e dois arquivos.

    No primary estão todos os objetos e criei um novo filegroup, adicionei um arquivo de dados dentro deste filegroup para migrar uma tabela muito grande, pois como meu sql é standard, não tem particionamento, então estamos com um projeto de migrar esta tal tabela, que tem uma pk clustered + identity para outro disco, em um novo filegroup.
    Acontece que esta migração ainda não foi feita, foi apenas criado o arquivo de dados secundário e o filegroup, com este arquivo vinculado.
    O que achei estranho foi que não migrei nada ainda, mas o .ndf que está lincado ao filegroup2 está com 67gb, porém quando criado, estava com 5gb, conferido e testado.
    Eu já havia pensando em fazer um shrink nele com a opção de migrar os dados para outro filegroup, o problema é que como não sei que dados constam ali, estou com medo de gerar inconsistencias no banco, por isto quero saber como consultar quais dados podem estar acomodados ali.

    Abraço.
    sexta-feira, 4 de dezembro de 2009 13:38
  • Boa Noite,

    Informe o SQL Server utilizado.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!814.entry
    Classifique as respostas. O seu feedback é imprescindível
    sexta-feira, 4 de dezembro de 2009 20:38
  • Riley,

         Veja se isso ajuda para você descobrir os objetos no filegroup:

    USE AdventureWorks;
    GO
    SELECT o.name AS table_name,p.index_id, i.name AS index_name , au.type_desc AS allocation_type, FG.name, au.data_pages, partition_number
    FROM sys.allocation_units AS au
        JOIN sys.partitions AS p ON au.container_id = p.partition_id
        JOIN sys.objects AS o ON p.object_id = o.object_id
        JOIN sys.indexes AS i ON p.index_id = i.index_id AND i.object_id = p.object_id
        join sys.filegroups FG on au.data_space_id = FG.data_space_id
    ORDER BY o.name, p.index_id;
    

    Outra alternativa:

    select s.groupname AS FILEGROUP, object_name(i.id) AS OBJECT, i.name AS INDEX_NAME
         from sysfilegroups s, sysindexes i
         where i.groupid = s.groupid


    MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008
    • Marcado como Resposta Jason DBA Jr quarta-feira, 23 de fevereiro de 2011 11:57
    sábado, 5 de dezembro de 2009 12:45
    Moderador
  • Valeu Roberto,

    Era bem isto que eu procurava!

     

    Abração!

    quarta-feira, 23 de fevereiro de 2011 11:57