Preciso dividir um banco de dados em grupos de arquivos? São 30gb agora

5

Estou no processo de mudar um servidor de banco de dados da minha empresa do Windows 2000 / Sql Server 2000 para o Windows 2003 R2 / Sql Server 2005 agora. Ele possui 30 bancos de dados, cada um dos bancos de dados tem cerca de 7gb de tamanho, mas um deles é de 30gb. E agora estou me perguntando se devo usar a oportunidade de usar grupos de arquivos neste banco de dados. Mas eu nunca usei isso antes, e eu não sei o conteúdo do banco de dados que bom. Mas é um sistema econômico, então eu acho que nos últimos 8 anos de produção, ele contém muitas informações históricas "somente leitura".

Alguém pode me dar algumas dicas e dicas sobre se eu deveria dividi-lo ou não? Eu tenho 2 discos separados agora, um para arquivos de log e outro para os bancos de dados.

Eu apreciaria se alguém pudesse me dar alguma contribuição:)

    
por Svein Erik 17.02.2010 / 17:41

3 respostas

6

Você deseja dividir o banco de dados em vários grupos de arquivos ou adicionar vários arquivos ao grupo de arquivos primário existente?

No primeiro caso, você precisaria mover o objeto (tabelas, índices) para o grupo de arquivos recém-adicionado, caso contrário, ele permaneceria vazio. Fazer isso requer que você tenha uma boa compreensão dos padrões de uso dos objetos para que você possa determinar quais objetos vão para onde. A vantagem depois disso será que você poderá alocar grupos de arquivos para separar caminhos de E / S (discos / LUNs separados) de acordo com o modo como eles são acessados. Outra vantagem é que você pode gerenciar backup / restauração mais granularidade, permitindo que você faça restaurações por refeição e permitindo que você faça backups individuais de grupos de arquivos. Eu diria que a alocação de grupos de arquivos em um banco de dados é uma decisão de tempo design e para você está um pouco atrasado agora.

Segundo caso, você simplesmente adiciona mais arquivos ao grupo de arquivos PRIMARY para distribuir o IO por vários discos. A menos que você realmente tenha problemas de E / S e tenha vários caminhos de E / S (ou seja, discos / arrays / luns separados para colocar os arquivos), não há vantagem em adicionar vários arquivos. Você pode encontrar conselhos recomendando o uso de splinting do banco de dados em N arquivos de tamanho igual, onde N é o número de núcleos de CPU, mas esse conselho é obsoleto pois o SQL 2005/2008 lida com a contenção de alocação de SGAM / GAM muito melhor que SQL 2000 e não mais requer a divisão.

De sua descrição do problema e do ambiente, eu sinceramente não vejo razão para fazer qualquer divisão: você não vai fazer nenhum plano de restauração para permitir a restauração de peças (e além disso, é apenas 30Gb, o que é bastante pequeno ), e você tem apenas um disco, então vários arquivos não trazem vantagem.

    
por 17.02.2010 / 18:02
0

Eu não acho que você ganhará muito desempenho se dividir seu banco de dados em grupos de arquivos porque você tem apenas dois discos dedicados e já precisa de um para seus translogs.

Eu não iria dividir isso.

    
por 18.02.2010 / 19:57
0

Veja a seguir informações sobre grupos de arquivos . Eles realmente só melhoram o desempenho se você os localizar em unidades separadas. O outro uso de grupos de arquivos é isolar as tabelas somente leitura e ser capaz de fazer backup apenas dos grupos de arquivos ativos.

    
por 18.02.2010 / 21:05