none
SQL FILEGROUP RRS feed

  • Pergunta

  • Bom dia Senhores,

    Tenho a seguinte questão ,meu  banco de dados esta em cerca  500gb em um único FILEGROUP  Sendo tudo concentrado em um único file ,gostária de adcionar mais um file em outro disco para fazer striping destes dados e melhorar a performance do ambiente.

    A minha questão é a seguinte existe  alguma maneira de minimizar o impacto pois assim que eu adicionar este file vazio , o SQL irá balacear os dados já existente no filegroup atual correto?

     

    Obrigado !

    Anderson

     

     

    segunda-feira, 29 de agosto de 2011 11:49

Respostas

  • Anderson,

     

    Sim.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Anderson SP terça-feira, 30 de agosto de 2011 11:41
    segunda-feira, 29 de agosto de 2011 16:50
    Moderador
  • Boa Noite,

    Quando se adiciona um novo arquivo a um FILEGROUP esse arquivo fica intacto. Até poderíamos pensar que a criação de um arquivo novo poderia forçar que a distribuição fosse feita, mas isso poderia representar uma movimentação de I/O muito intensa e longa. Enquanto os objetos fossem parcialmente transferidos teríamos muito I/O e bloqueios nesses objetos podendo comprometer o desempenho.

    Após adicionar o novo arquivo, os novos objetos irão tentar proporcionar uma estratégia de balanceamento. Entretanto, você pode forçar o uso do novo arquivo, bastante efetuar um ALTER INDEX com REBUILD para forçar uma reconstrução e portanto aproveitar o novo arquivo.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Anderson SP terça-feira, 30 de agosto de 2011 11:40
    segunda-feira, 29 de agosto de 2011 23:09

Todas as Respostas

  • Anderson,

     

    Não ira realizar nada automatico.

    Se voce quer automatizar alguma coisa entre balanceamento dos dados entre filegroups, voce pode criar partições de tabela, que esta melhor exemplificado aqui: http://blog.sqlauthority.com/2008/01/25/sql-server-2005-database-table-partitioning-tutorial-how-to-horizontal-partition-database-table/

     

    Porem, caso voce crie um novo file group e queira jogar algumas tabelas por completa la (Coisa que ja diminuiria o I/O, vamos supor que sua base tenha 2 tabelas que sempre são acessadas, jogando elas completas em filegroups diferentes, voce tera um ganho de I/O), voce pode:

    DROPAR O INDICE CLUSTER DA TABELA

    CRIAR UM NOVO INDICE CLUSTER APONTANDO PARA ESSE NOVO FILEGROUP

    Saiba que ao mesmo tempo que indices secundarios é muito bom estarem em filegroups e claro em discos diferentes, um indice cluster estara sempre com sua tabela, portanto, ao criar o indice nesse novo filegroup, sua tabela sera movida junto.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 29 de agosto de 2011 13:01
    Moderador
  •  

     

    Boa Tarde

    Obrigado pelo retorno Fabrizzio!

    Para concluir então quando adiciono um file vazio em um filegroup já existente o mesmo vai ficar vazio até que um novo objeto seja criado para que haja um split fisicamente onde os dados estão armazenados?

     

    att

     

     

    segunda-feira, 29 de agosto de 2011 16:37
  • Anderson,

     

    Sim.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Anderson SP terça-feira, 30 de agosto de 2011 11:41
    segunda-feira, 29 de agosto de 2011 16:50
    Moderador
  • Boa Noite,

    Quando se adiciona um novo arquivo a um FILEGROUP esse arquivo fica intacto. Até poderíamos pensar que a criação de um arquivo novo poderia forçar que a distribuição fosse feita, mas isso poderia representar uma movimentação de I/O muito intensa e longa. Enquanto os objetos fossem parcialmente transferidos teríamos muito I/O e bloqueios nesses objetos podendo comprometer o desempenho.

    Após adicionar o novo arquivo, os novos objetos irão tentar proporcionar uma estratégia de balanceamento. Entretanto, você pode forçar o uso do novo arquivo, bastante efetuar um ALTER INDEX com REBUILD para forçar uma reconstrução e portanto aproveitar o novo arquivo.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Anderson SP terça-feira, 30 de agosto de 2011 11:40
    segunda-feira, 29 de agosto de 2011 23:09