Arquivos de banco de dados, arquivos de log de transações e arquivos de dados temporários são geralmente colocados em volumes diferentes para reduzir a contenção de E / S entre eles, e isso pode ser estendido ainda mais criando vários arquivos de dados para cada banco de dados, espalhando-os por mais volumes e informando ao SQL Server onde tabelas e índices específicos devem ser armazenados; Então, sim, essa é uma prática comum para DBAs e pode, de fato, levar a ganhos significativos de desempenho.
Também é verdade que pode se tornar completamente sem sentido ao usar uma SAN; Dependendo de como a SAN foi realmente configurada, diferentes LUNs (volumes) podem ser mapeados para qualquer conjunto de discos phsyical, matrizes RAID e controladores de armazenamento e, portanto, a contenção de E / S entre dois LUNs pode variar de "completamente isolada" a "efetivamente compartilhando os mesmos discos". Portanto, a menos que o DBA esteja trabalhando em conjunto com o administrador de armazenamento, pedir diferentes LUNs para espalhar arquivos de banco de dados entre eles pode se tornar um esforço totalmente desperdiçado.
No entanto, separar arquivos de banco de dados e arquivos de log de transações é considerado uma melhor prática não apenas para desempenho, mas também para confiabilidade: devido ao mecanismo de armazenamento transacional usado pelo SQL Server (e a mecanismos semelhantes usados por praticamente qualquer DBMS existente) , os arquivos de log podem ser usados para reproduzir transações em um cenário de recuperação de desastre, permitindo que o sistema recupere o que aconteceu depois que o último backup foi realizado. Mas, para que isso funcione, você não quer perder arquivos de dados e arquivos de log ao mesmo tempo, então é melhor pelo menos colocá-los em volumes diferentes, mesmo que não haja ganho de desempenho com isso.