Um de nossos padrões corporativos é ter um grupo de arquivos/arquivo separado para tabelas/índices de usuários. Isso é definido como padrão, portanto, não há necessidade de qualificar as instruções CREATE TABLE.
Então parece com isso
- fileid 1 = tabelas do sistema, MDF
- fileid 2 = t-log = LDF
- fileid 3 = coisas do usuário = NDF
Alguém aqui pode me ajudar a entender a justificativa original por que isso foi obrigatório?
Vou confessar e dizer que acho que é vodu. Estou errado... ?
Editar: estou ciente de como usar grupos de arquivos para separação de índices/partições/arquivos, bem como restaurar fragmentos. Esta questão é sobre o uso de um grupo de arquivos separado no mesmo volume apenas para tabelas do sistema.
Não há um ganho de desempenho nisso, há um ganho de recuperação a ser feito. Se ocorrer corrupção de arquivo nas tabelas do sistema, o banco de dados será perdido. Se você mantiver os dados do usuário em um grupo de arquivos separado (ou grupos), poderá restaurar apenas esses arquivos, mantendo o restante do banco de dados online durante a restauração (assumindo a Enterprise Edition aqui).
Se é por isso que eles afirmam isso, não posso dizer, mas seria um benefício ter vários grupos de arquivos apenas com os objetos do sistema no grupo de arquivos PRIMARY.
No entanto, você deve chutar o lixo por dizer que o AutoShrink deve ser ativado.
O livro de treinamento 70-432 da Microsoft diz: "O principal motivo para não colocar nenhum de seus objetos no grupo de arquivos principal é fornecer o máximo de isolamento possível na E/S. Os dados nos objetos do sistema não mudam com a mesma frequência que os dados em seus objetos. Ao minimizar a atividade de gravação no arquivo de dados primário, você reduz a possibilidade de corrupção devido a falhas de hardware. Além disso, como o estado do grupo de arquivos primário também determina o estado do banco de dados, você pode aumentar a disponibilidade do banco de dados, minimizando as alterações feitas no grupo de arquivos primário."
Então, aceite isso como quiser. Outros dizem que isso não é necessário em certas circunstâncias e, claro, é mais para manter. Apenas pensei em fornecer o raciocínio da Microsoft.
Não tenho certeza se entendi. Você está pedindo que alguém justifique seu padrão corporativo? Eu acho que quem escreveu esse documento de padrões para sua empresa seria capaz de esclarecer por que isso seria feito.
Dito isto, não é incomum que algumas lojas queiram separar os dados do sistema dos dados do usuário. E se usado em conjunto com conjuntos de discos dedicados, você pode obter alguns ganhos de desempenho.