Arquivos LDF muito Grandes.
Eu acredito que ja devo ter aberto um topico parecido a muito tempo atraz, mas nao tenho certeza.
Estou com a seguinte situacao.
meus arquivos LDFs estao somando mais de 100GB e esta consumindo o meu HD consideravelmente dia apos dia.
Gostaria de saber qual seria a melhor pratica para diminuir o espaco dele, e como eu conseguiria diminuir por periodo por exemplo, tudo que for anterior a 01/01/2012 por exemplo, coisas deste tipo.
Honestamente, ja pensei em mover o arquivo inteiro, mas se nao me engano nao eh possivel, pq eles estao o tempo todo em uso.
Ja li muito a respeito disso e de algumas coisas no proprio site da microsoft, mas honestamente, nao achei nada muito consiso que me desse tranquilidade para fazer.
Desde ja agradeco a todos pela ajuda.
Abraco.
Alex - Lekao
Alex Lekao
Respostas
Roniere Almeida
06/02/2014
agora a minha vez de tentar ajudar, acabei procurando sobre o assunto e achei por aew uma dica, mas sinceramente não sei se pode te ajudar: mas acho que tem um pouco haver.
um artigo:
[url]https://www.devmedia.com.br/definindo-estrategia-de-modelo-de-recuperacao-para-banco-de-dados-sql-server-2005/6458[/url]
e outro (de outro site, blog)
[url]http://orlandooliveira.blogspot.com.br/2008/02/arquivo-de-log-do-sql-server-est-muito.html[/url]
Alex Lekao
06/02/2014
Vou dar uma olhada...
infelizmente nao estou conseguindo acessar Blogs... o meu firewall esta bloqueando...
estamos implementando seguranca e eu acabei ficando sem acesso a algumas coisas...kkkkkkkkkk
Alex Lekao
06/02/2014
Eu verifiquei o artigo e eh legal, algumas coisas que eu ja sabia, mas refrescou a memoria, o que eu entendi, eh que tenho que fazer um backup de Log para que o arquivo de log diminua no proximo backup full.
Pelo menos foi isso que eu entendi, nao tenho certeza se entendi corretamente.
Mas se nao me engano eu ja fiz um backup de log uma vez e o lazaro nao diminuiu. rsrsr
Mas muito obrigado cara, to meio na duvida ainda de o que fazer. rsrs
Obrigado.
Roniere Almeida
06/02/2014
mas uma pergunta. esses arquivos de log, devem ter mais de um não é? é o aconselhavel?
Alex Lekao
06/02/2014
mas uma pergunta. esses arquivos de log, devem ter mais de um não é? é o aconselhavel?
Cara nao sei te dizer, normalmente pelo que vejo pelo nosso banco aqui, eh um para cada base.
No meu caso, sao 5 arquivos, pq temos 5 bases.
Roniere Almeida
06/02/2014
Alex Lekao
06/02/2014
Mas o LDF talves seja um so... vc pode conferir nas pastas onde ficam arquivos os arquivos de log.
Normalmente o arquivo de log eh definido na base, se vc clicar com o Botao Direito do mouse e escolher propriedade e for la em Arquivos, vc vai ver o nome da Base e do Arquivo de Log, LDF, nao sei se seria bem por ai.
Eu nao sou essas coisas nao, entao nao sei dizer ao certo...kkkkk rssrsr
Fabrício Lima
06/02/2014
No meu ambiente crítico tenho backups do Log a cada 6 minutos.
Alex Lekao
06/02/2014
O meu recovery model eh Full sim.
Eu ja fiz alguns backups de log mas percebi que nao diminuiram os ldfs, ja fiz inclusive o Shrink mas tbm o ganho foi minusculo tbm.
Nao estou com muita certeza de poder fazer isso ou nao, pq nao tenho certeza do que exatamente os arquivos ldf armazenam.
Outra coisa que fico na duvida eh se posso fazer o bkp do log agora por exemplo e no proximo backup automatico que tenho ele vai perder alguma coisa, se eu tiver algum problema nesse meio tempo eu corro o risco de perder alguma coisa?
como nao sou DBA e nao tenho tanta experiencia assim fico meio receioso. rsrsr
Obrigado.
Roniere Almeida
06/02/2014
Mas o LDF talves seja um so... vc pode conferir nas pastas onde ficam arquivos os arquivos de log.
Normalmente o arquivo de log eh definido na base, se vc clicar com o Botao Direito do mouse e escolher propriedade e for la em Arquivos, vc vai ver o nome da Base e do Arquivo de Log, LDF, nao sei se seria bem por ai.
Eu nao sou essas coisas nao, entao nao sei dizer ao certo...kkkkk rssrsr
não é possivel...não posso está doido, kkk, mas acho que algum arquivo de log ou backup pode ser tipo separado(quando chega em um determinado tamanho).
ja vi isso mas não tenho certeza absoluta.
Alex Lekao
06/02/2014
Roniere Almeida
06/02/2014
Alex Lekao
06/02/2014
Vc mencionou que faz backup do log a cada 6 minutos.
O que vc usa como parametro? vc sempre substitui os backups? de quanto em quanto tempo vc elimina os arquivos antigos?
Obrigado.
Abraco.
Alex - Lekao
No meu ambiente crítico tenho backups do Log a cada 6 minutos.
Mariana Carvalho
06/02/2014
Roniere Almeida
06/02/2014
João Françozo
06/02/2014
Da uma olhada no Recovery Model se estiver (FULL) o arquivo de log vai crescer a cada dia, aconselho fazer a mudança para SIMPLE nessa mudança seu log não vai crescer tanto.
Abaixo o script para fazer a mudança, o select vai mostrar o tamanho do arquivo LDF após isso vai mudar para SIMPLE e vai da um Shirink na log.
OBS: Esse modelo SIMPLE não serão gravados no log insert, update, delete etc.
SELECT * FROM sys.database_files
ALTER DATABASE [sua base] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(SATK1505_Log, 1)
ALTER DATABASE [sua base] SET RECOVERY SIMPLE WITH NO_WAIT
GO
Att
João Antonio
Alex Lekao
06/02/2014
Eu normalmente faco a substituicao dos arquivos mesmo, inclusive dos meus backups convencionais.
Eu questionei a respeito, por que backup de 6 em 6 minutos, a quantidade de arquivos que tera dentro dos diretorios sera enorme, queria um pouco mais de informacao apenas como parametro mesmo.
Aqui se nao me engano, eu mantenho arquivos de uma semana, mas o backup principal eh substituido todos os dias, ficando assim sempre um arquivo de backup principal, e copia de uma semana destes arquivos.
Acho que mais que isso ja nao se faz tao necessario assim.
Obrigado.
Alex - Lekao
Alex Lekao
06/02/2014
pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr
Alex Lekao
06/02/2014
Obrigado pela dica..
O meu recovery model aqui eh full, acho melhor usa-lo para que eu possa ter a possibilidade de fazer uma recuperacao baseada em log caso necessario.
Mas como so utilizamos um backup full, estou tentando implementar uma rotina melhor de backup, e uma das opcoes eh o backup do log, ate mesmo para que ele seja diminuido e o espaco em disco seja maior.
Estou pensando nisso para que eu tenha uma possibilidade de recuperacao caso seja necessario.
Embora o meu ambienta nao seja de alta disponilidade, mas acho interessante ter o recurso.
E pensando em fazer os backups e eles serem substituidos acontecera uma diminuicao do espaco ocupado com o passar do tempo.
Mas ai acontecem as duvidas, eu faco o backup de log e a diminuicao do mesmo so acontece apos o shrink?
meio que ja sei a resposta, mas quero uma discursao a respeito para que eu possa fazer com mais tranquilidade e como assunto mais firma na minha cabeca.
Obrigado mais uma vez.
Abraco.
Alex - Lekao
Da uma olhada no Recovery Model se estiver (FULL) o arquivo de log vai crescer a cada dia, aconselho fazer a mudança para SIMPLE nessa mudança seu log não vai crescer tanto.
Abaixo o script para fazer a mudança, o select vai mostrar o tamanho do arquivo LDF após isso vai mudar para SIMPLE e vai da um Shirink na log.
OBS: Esse modelo SIMPLE não serão gravados no log insert, update, delete etc.
SELECT * FROM sys.database_files
ALTER DATABASE [sua base] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(SATK1505_Log, 1)
ALTER DATABASE [sua base] SET RECOVERY SIMPLE WITH NO_WAIT
GO
Att
João Antonio
Roniere Almeida
06/02/2014
pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr
acho que isso dependa do sistema e situação Alex.
Mariana Carvalho
06/02/2014
Eu normalmente faco a substituicao dos arquivos mesmo, inclusive dos meus backups convencionais.
Eu questionei a respeito, por que backup de 6 em 6 minutos, a quantidade de arquivos que tera dentro dos diretorios sera enorme, queria um pouco mais de informacao apenas como parametro mesmo.
Aqui se nao me engano, eu mantenho arquivos de uma semana, mas o backup principal eh substituido todos os dias, ficando assim sempre um arquivo de backup principal, e copia de uma semana destes arquivos.
Acho que mais que isso ja nao se faz tao necessario assim.
Obrigado.
Alex - Lekao
Alex, e como se faz a opção para sempre criar arquivos diferentes, não substituindo.
Alex Lekao
06/02/2014
com certeza sim...
pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr
acho que isso dependa do sistema e situação Alex.
Alex Lekao
06/02/2014
Se nao me engano qdo vc esta criando o plano de manutencao, vc tem como escolher uma opcao com o esquema de nomear o arquivo com data e hora, etc.
Nesse caso ele ficara com varios arquivos de backup e nao serao substituidos nunca, a nao se que seja montado alguma estrutura para faze-lo.
Uma coisa, isso ja fiz muito rsrsr, eh vc criar uma rotina de backup para cada dia da semana, ai as substituicoes serao feitas apenas para aqueles dias, mantendo assim sete arquivos de backup.
O que eu uso aqui eh assi, eu faco um backup que eh substituido todo dia, e esse arquivo eh enviado para um outro servidor usando o cobian backup, no cobian se nao me engano da para criar arquivos para a semana, e depois eh enviado diariamente esse arquivo para uma maquina local, tambem mantendo esse nome diferenciado, assim a gente tem sempre sete arquivos de backups.
Nao sei se era especificamente isso que estava perguntando.
Abraco.
Alex - Lekao
Mariana Carvalho
06/02/2014
essa opção faz-se quando programa o backup, naquelas janelas?
Alex Lekao
06/02/2014
faz muito tempo que nao mexo... rsrsr
Mariana Carvalho
06/02/2014
Alex Lekao
06/02/2014
qqr coisa posta ae que a gente ve...
mas eu acho que vc tem que montar tipo um plano de manutencao e escolher...
os esquemas de datas...
ou montar um script sql que define o nome logo de uma vez e coloca no job.
Mariana Carvalho
06/02/2014
Alex Lekao
06/02/2014
Mas pelo SSMS usando a opcao grafica vc consegue pegar o codigo sim.
eu vez ou outra faco isso para entender os comandos que foi usado para fazer algumas coisas e estuda-los.
Mariana Carvalho
06/02/2014
João Françozo
06/02/2014
Na primeira vez que mudar o tipo do recovery roda o comando SHRINKFILE depois não precisa mais por um determinado tempo.
Alex Lekao
06/02/2014
Obrigado.
Mas eu nao estou querendo mudar o recovey model do banco, estou na duvida qto ao processo e tal.
acho o log importante e quero mante-lo, so que com os devidos ajustes para que nao ocupe tanto espaco.
nao tenho certeza, mas nao tem porque eu ter um log de 5 anos de operacao no banco de dados, pq nao irei retroagir ate tao antigamente assim.
a questao basicamente seria comente manter um historico das transacoes para que o impacto de um desatre seja minimo, entao acredito que o fato do log sem grande nao vai me beneficiar tanto assim.
o que quero eh digamos que doma-lo, fazendo backups dele periodicamente para que seja possivel uma restauracao caso necessario.
e se apos ele ser feito em um egendamento que farei, se terei que fazer mais alguma coisa apos a sua execucao ou se apos o proximo backup full esse espaco que ele estaria ocupando retorna.
basicamente fazendo o backup de log, a unica forma de o arquivo diminuir eh fazendo um shirink? rsrsr
João Françozo
06/02/2014
Desculpa a demora, isso somente com o shirink para diminuir o log.
Alex Lekao
06/02/2014
Ok, entao, implemento uma rotina de backup de log e uma rotina de shirink para que assim o log seja diminuido.
outra forma nao tem.
Otimo.
Estou com alguns ajustes aqui, implementei um backup diferencial em uma das bases.
Depois eu implemento o backup de log nesta base e o shirink.
Vou fazendo passo a passo para sentir mais seguranca.
obrigado!!!
Abraco.
Alex - Lekao