Mais de um arquivo de log (.ldf) no SQL Server?

Fala galera, blz?, nesse post vamos abordar um assunto que eu fiquei muito surpreso e curioso quando ouvi um amigo dizer que criou dois arquivos de log (ldf), no primeiro momento achei que ele estava brincando, pois nunca tinha visto nenhum banco de dados SQL Server com mais de um arquivo LDF. Em documentos oficiais da Microsoft sempre é mencionado como boas praticas ter um arquivo de MDF, alguns NDF e um LDF.

Pesquisando mais sobre o assunto, realmente é possível criar mais de um LDF para um banco de dados, Encontrei referencias em alguns blogs de respeito como do Fabricio Lima (http://fabriciolima.net/blog/2011/05/22/criando-mais-de-um-arquivo-de-log-melhora-a-performance-do-sql-server/) e também do mito Paul Randal (http://www.sqlskills.com/blogs/paul/multiple-log-files-and-why-theyre-bad/) que relatam justamente essa questão sobre múltiplos LDFs.

Analisando os fatos com mais detalhes, me peguei pensando qual seria a necessidade de cria mais de um arquivo de log, Segurança? Performance? Espaço físico?

O SQL Server escreve no log de forma sequencial, nunca aleatória e internamente ele entende múltiplos arquivos de log como se fossem apenas um só, como se fosse um “lógão”, desta forma se você criar dois arquivos de logs com 10gb cada, o SQL Server entenderá que existe 20gb de log para utilizar e vai preenchendo esse espaço de forma sequencial. Com isso a questão de performance morre aqui, pois mesmo que criarmos dois arquivos em unidades diferentes o SQL não ira dividir as transações entre os dois discos. No caso de segurança não vejo nenhuma vantagem, na verdade analisando friamente podemos criar um possível problema, pois múltiplos arquivos implicam em novos pontos de falhas, e essas falhas pode ocorrer por corrupção, falha na unidade ou por qualquer outro motivo que pode deixa o banco de dados offline causando um grande problema.

Assim, o único cenário onde eu vejo a necessidade de criar mais de um arquivo de log, seria onde o arquivo existente precisa crescer e no disco atual não existe mais espaço físico, neste caso, uma solução seria criar um novo arquivo ldf em outra unidade de disco, assim alongando o log. Porem, sabemos que o crescimento do log descontrolado é decorrência de algum problema ou fato esporádico como, transações abertas, alguma operação que manipulou grande operação de dados, DBCCs entre outras.  Portando antes de criar outro arquivo de log, devemos analisar com cuidado nosso ambiente e entendo que a criação do segundo arquivo seria em casos de extrema urgência, pois para todos os outros casos existem maneiras de contornar a situação.

Até o próximo artigo, grande abraço!

Luiz Henrique Garetti

Anúncios

Um comentário sobre “Mais de um arquivo de log (.ldf) no SQL Server?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s