Onde estou trabalhando atualmente, o banco de dados comercial principal está localizado em um servidor virtual (padrão SQL Server 2005). O banco de dados temporário e os logs estão em um disco, o próprio banco de dados em outro. A SAN é configurada de forma que eles só podem provisionar discos de 512 GB (blocos de 4 K, segundo me disseram, mas não sei nada sobre SANs). Há cerca de 4% de espaço livre no disco que contém o banco de dados.
Fui encarregado de trabalhar em uma maneira de arquivar dados antigos e removê-los do banco de dados em blocos de um ano para arquivar em fita (sou um empreiteiro e realmente sou um desenvolvedor, embora tenha me interessado pelo mundo DBA no passado e tenho mais ou menos 15 anos de experiência desenvolvendo com e para SQL Server, não um DBA, e foi entregue a mim assim que entrei pela porta. Temos um DBA, então não sei por que estou fazendo isso, mas deixa pra lá). Isso foi há cerca de 6 meses e, desde então, tenho construído, intermitentemente, algo que fará exatamente isso. Mas estou cada vez mais preocupado que não possamos testar o banco de dados resultante o suficiente para verificar se realmente não quebramos algo e tenho pensado em uma solução alternativa.
Primeiro pensei em particionar, mas isso foi descartado porque temos SE e nenhuma chance de atualizar para EE, pois em 6 ou mais meses todo o shebang será movido para um data center dedicado com infraestrutura maior e mais moderna e todo o sistema será substituído por novos desenvolvimentos nos próximos 2-4 anos. Mas então me ocorreu que certamente podemos dividir o banco de dados em vários arquivos dentro de um grupo de arquivos e distribuí-los em vários discos (não temos problemas em provisionar mais discos de 512 GB). Isso deixa todo o banco de dados intacto e pode até ter um pequeno benefício de desempenho, embora esse não seja o objetivo principal aqui.
Tenho certeza de que está tudo bem no SE (novamente, não sou um DBA) e vejo isso como muito menos arriscado e potencialmente mais rápido de implementar. então minhas perguntas:
- É possível dividir um banco de dados em vários arquivos no 2005 SE?
É possível dividir um banco de dados existente que está atualmente em um arquivo em um único disco em vários arquivos em vários discos?
Preciso apresentar mais do que essas informações para convencer qualquer pessoa sã de que seria tolice arriscar a interrupção de um negócio multimilionário de purgar dados de um banco de dados de produção?