Arquivos LDF muito Grandes.

SQL Server

06/02/2014

Ola Meus amigos, boa tarde!!!

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

Alex Lekao

Curtidas 0

Respostas

Roniere Almeida

Roniere Almeida

06/02/2014

e aew Alex, blz?

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]
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Blz Roniere, obrigado.

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
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Roniere,

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.
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

legal que deu para ajudar um pouco.

mas uma pergunta. esses arquivos de log, devem ter mais de um não é? é o aconselhavel?
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

legal que deu para ajudar um pouco.

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.
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

posso está confuso com o .ndf sei lá.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Se nao me engano NDF eh qdo vc particiona as tabelas e divida a base em mais de um arquivo.

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
GOSTEI 0
Fabrício Lima

Fabrício Lima

06/02/2014

Se o recovery da sua base é FULL devem ser realizados backups do Log constantes para que o arquivo ldf não cresça.

No meu ambiente crítico tenho backups do Log a cada 6 minutos.

GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Fabricio, bom dia!!

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.
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

Se nao me engano NDF eh qdo vc particiona as tabelas e divida a base em mais de um arquivo.

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.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

eu nao faco a menor ideia.. kkkkk
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

alguem sabe? agora fiquei na duvida!!!
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Fabricio, bom dia!!

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

Se o recovery da sua base é FULL devem ser realizados backups do Log constantes para que o arquivo ldf não cresça.

No meu ambiente crítico tenho backups do Log a cada 6 minutos.

GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

Alex, depois da sua duvida, acredito que a substituição seja o caminho mesmo, mas acredito que possa existir uma opção para mais arquivos, caso haja problema com algum criado.
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

eu aposto que seja assim tambem.
GOSTEI 0
João Françozo

João Françozo

06/02/2014

Bom dia Alex

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
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Mariana, bom dia!!!

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, depois da sua duvida, acredito que a substituição seja o caminho mesmo, mas acredito que possa existir uma opção para mais arquivos, caso haja problema com algum criado.


GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Realmente eh possivel...

pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr

eu aposto que seja assim tambem.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Joao Antorio, bom dia!!!

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

Bom dia Alex

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
GOSTEI 0
Roniere Almeida

Roniere Almeida

06/02/2014

Realmente eh possivel...

pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr

eu aposto que seja assim tambem.


acho que isso dependa do sistema e situação Alex.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

Oi Mariana, bom dia!!!

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, depois da sua duvida, acredito que a substituição seja o caminho mesmo, mas acredito que possa existir uma opção para mais arquivos, caso haja problema com algum criado.




Alex, e como se faz a opção para sempre criar arquivos diferentes, não substituindo.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Sim...

com certeza sim...

Realmente eh possivel...

pretendo fazer as substituicao sim, mas gostaria de entender o backup num intervalo de tempo tao pequeno assim. rrsr

eu aposto que seja assim tambem.


acho que isso dependa do sistema e situação Alex.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Mariana,

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
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

exatamente isso, obrigada.
essa opção faz-se quando programa o backup, naquelas janelas?
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

se nao estou enganado sim...

faz muito tempo que nao mexo... rsrsr

GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

depois confirmarei.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

blz...

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.

GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

se eu for fazer, será pelo modo grafico, da pra pegar os codigos?
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Nao entendi bem...

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.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

06/02/2014

Otimo então.
GOSTEI 0
João Françozo

João Françozo

06/02/2014

Boa Tarde Alex

Na primeira vez que mudar o tipo do recovery roda o comando SHRINKFILE depois não precisa mais por um determinado tempo.

GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Joao Antonio, boa tarde!!!

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
GOSTEI 0
João Françozo

João Françozo

06/02/2014

Bom dia Alex,

Desculpa a demora, isso somente com o shirink para diminuir o log.
GOSTEI 0
Alex Lekao

Alex Lekao

06/02/2014

Oi Joao, bom dia!!!

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
GOSTEI 0
POSTAR