Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Limpeza de Base de Dados.


Alan Lopes

Posts Recomendados


  • Tópicos Que Criei:  23
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  35
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  405
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  39

Bom Dia,

Atualmente minha base de dados se encontra com 17 Giga, montei um script para apagar a base de dados tudo <= 31/12/2008.

Com isso minha base caiu para 4 Giga, alguem ve algum problema nisso ?

Realmente será que isso melhora o desempenho do sistema, ou não interfere em nada ?

Abraços,

Alan Lopes

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  26
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  205
  • Conteúdo/Dia:  0.03
  • Reputação:   0
  • Pontos/Conquistas:  1.270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  42

Alan,

Tem informações fiscais que devem ficar com a empresa durante 5, 10 ou 30 anos. Existem leis (que não lembro quais são) que determinam essa prática.

Vamos ver o que os colegas comentarão a respeito. Tecnicamente, é uma boa idéia "aliviar" a base de dados, mas, fiscal/juridicamente, pode não ser.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  192
  • Tópicos/Dia:  0.03
  • Meu Conteúdo:  1.767
  • Conteúdo/Dia:  0.27
  • Reputação:   2
  • Pontos/Conquistas:  10.702
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  52

Que aplicativos vc utiliza ?

Desde quando tem dados no sistema ? (ou tinha ...?)

Vc já tentou as dicas postadas aqui no fórum para melhorar performance ?

Qual a configuração de seu servidor ?

Quantos usuários acessam a base ?

Tudo isso deve ser levado em consideração para tomar alguma atitude ...

* Com essas informações fica mais fácil te dizer alguma coisa ...

Um abraço,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Como já foi dito existem implicações legais ao fazer isto via base. E como o Jairo falou precisa ver os módulos que usa. Os dados contábeis e da Folha não devem ser apagados dessa maneira. O Saldus e o Nucleus tem rotinas próprias dentro do aplicativo para fazer isto de forma correta.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  899
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.841
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.571
  • Conteúdo Resolvido:  0
  • Dias Ganho:  194
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Isso mesmo. é como a galera acima já falou.

Em alguns casos pode-se apagar, mas tem que atualizar tabelas de saldos, entre outras...

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  78
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  540
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Gente parem de brincar com estes tipos intervensões via SGBD.

No RM Nucleus e Fluxus existe uma rotina que se chama Liberação de Movimento, que trata

justamente desse assunto:

Nucleus:

=>Utilitários

=>Liberações

=> Liberação de Movimentos

Sugiro que faça como eu: Cria-se um BKP, antes de executar a rotina, e restaure num outro banco para

consulta.

Não recomento executar no Fluxus. Todavia ....

Poderá ocorrer um pau caso o usuário queira cancelar uma baixa no Fluxus cujo documento tenha vindo

do Nucleus, pois o documento não encontrará o Movimento cujo foi referenciado.

Link para comentar
Compartilhar em outros sites

  • 10 meses depois...

  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  124
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  815
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Alan Bom dia

Turma é o seguinte. Não se apaga informações do Banco. Tá lento o Sistema ?

Execute manutenção no SQL, no Windows, faça upgrade no Hardware do Servidor

Tem apenas 1 ou 2 servidores para tudo como: Domínio, Banco de Dados, Aplicação, Impressão em Rede,

Servidor de Anti-Vírus e por aí vai ?

Compre mais servidores e redimensione a sua Infraestrutura de Redes.

Verifique o cabeamento de rede e os seus switchs da DELL (hehehe)

Aqui a Base hoje (08/07/2010) é de 11 GB e 1 vez por mês executamos uma rotina o que diminui em 300 MB.

Tente executar este comando para fazer uma manutenção na Base de Dados.

OBS:

1-Não pode ter ninguém acessando a Base, recomento fazer um delete glogin e BKP da Base antes.

2-Depois de executar o SCRIPT dê o comando SHRINK (BOTÃO DIREITO NA BANCO - TAREFAS - REDUZIR - BANCO DE DADOS)

set nocount on

declare @comando varchar(255)

declare @comando1 varchar(255)

declare @comando2 varchar(255)

declare @comando3 varchar(255)

declare @comando4 varchar(255)

declare @tabela varchar (100)

declare @database varchar (225)

declare base cursor for

--SELECT distinct TABLE_CATALOG FROM INFORMATION_SCHEMA.TABLES

select db_name()

open base

fetch next from base into @database

declare tabelas cursor for

select name from sysobjects where type='U' order by name

open tabelas

fetch next from tabelas into @tabela

while @@fetch_status=0

begin

print 'Reindexando os indices da Tabela '+ @tabela

set @comando = 'dbcc dbreindex ('+@tabela+')'

exec (@comando)

print '---------------------------------------------'

print ' '

print 'Verificando estrututura da tabela '+ @tabela

set @comando1 ='dbcc checktable ('+@tabela+')'

exec (@comando1)

print '---------------------------------------------'

print ' '

print 'Verificando espaco alocado na tabela'+@tabela

set @comando2= 'dbcc updateusage ('+@database+','+@tabela+')'

exec (@comando2)

print '---------------------------------------------'

print ' '

fetch next from tabelas into @tabela

end

Print 'Final da Manuntencao'

print '****************************************************************************

***************'

print '****************************************************************************

******'

print '***************************************************************'

close base

close tabelas

deallocate tabelas

deallocate base

Editado por GrToko
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  26
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  205
  • Conteúdo/Dia:  0.03
  • Reputação:   0
  • Pontos/Conquistas:  1.270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  42

GrToko,

Quanto tempo leva cada processo, a execução do script e execução do shrink?

Obrigado.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  49
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  266
  • Conteúdo/Dia:  0.05
  • Reputação:   1
  • Pontos/Conquistas:  1.818
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  42

Aqui na minha empresa, temos o Log de Auditoria no Nucleus e no Fluxus.

Minha base de dados estava muito grande também, consegui liberar bastante espaço apagando registros muito antigos da tabela ZLog.

Agora de tempos em tempos faço uma limpeza nela. Me ajudou um pouco.

Abraços.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  192
  • Tópicos/Dia:  0.03
  • Meu Conteúdo:  1.767
  • Conteúdo/Dia:  0.27
  • Reputação:   2
  • Pontos/Conquistas:  10.702
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  52

Simone, vc pode tambem diminuir o tempo de registro da ZLOG. Lá na configuração do log. Deixa só alguns dias...

Aqui na minha empresa, temos o Log de Auditoria no Nucleus e no Fluxus.

Minha base de dados estava muito grande também, consegui liberar bastante espaço apagando registros muito antigos da tabela ZLog.

Agora de tempos em tempos faço uma limpeza nela. Me ajudou um pouco.

Abraços.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  49
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  266
  • Conteúdo/Dia:  0.05
  • Reputação:   1
  • Pontos/Conquistas:  1.818
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  42

Simone, vc pode tambem diminuir o tempo de registro da ZLOG. Lá na configuração do log. Deixa só alguns dias...

Valeu pela dica Jairo! :blush:

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  23
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  140
  • Conteúdo/Dia:  0.02
  • Reputação:   3
  • Pontos/Conquistas:  983
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  41

Olá!

Concordo com o GrToko. Manutenção do BD e utilizar as rotinas do prórpio sistema é a melhor solução. somente em casos extremos ou de real necessidade do cliente fazemos interveções dessa maneira.

Tudo precisa ser bem avaliado e planejado.

Abraço.

Alan Bom dia

Turma é o seguinte. Não se apaga informações do Banco. Tá lento o Sistema ?

Execute manutenção no SQL, no Windows, faça upgrade no Hardware do Servidor

Tem apenas 1 ou 2 servidores para tudo como: Domínio, Banco de Dados, Aplicação, Impressão em Rede,

Servidor de Anti-Vírus e por aí vai ?

Compre mais servidores e redimensione a sua Infraestrutura de Redes.

Verifique o cabeamento de rede e os seus switchs da DELL (hehehe)

Aqui a Base hoje (08/07/2010) é de 11 GB e 1 vez por mês executamos uma rotina o que diminui em 300 MB.

Tente executar este comando para fazer uma manutenção na Base de Dados.

OBS:

1-Não pode ter ninguém acessando a Base, recomento fazer um delete glogin e BKP da Base antes.

2-Depois de executar o SCRIPT dê o comando SHRINK (BOTÃO DIREITO NA BANCO - TAREFAS - REDUZIR - BANCO DE DADOS)

set nocount on

declare @comando varchar(255)

declare @comando1 varchar(255)

declare @comando2 varchar(255)

declare @comando3 varchar(255)

declare @comando4 varchar(255)

declare @tabela varchar (100)

declare @database varchar (225)

declare base cursor for

--SELECT distinct TABLE_CATALOG FROM INFORMATION_SCHEMA.TABLES

select db_name()

open base

fetch next from base into @database

declare tabelas cursor for

select name from sysobjects where type='U' order by name

open tabelas

fetch next from tabelas into @tabela

while @@fetch_status=0

begin

print 'Reindexando os indices da Tabela '+ @tabela

set @comando = 'dbcc dbreindex ('+@tabela+')'

exec (@comando)

print '---------------------------------------------'

print ' '

print 'Verificando estrututura da tabela '+ @tabela

set @comando1 ='dbcc checktable ('+@tabela+')'

exec (@comando1)

print '---------------------------------------------'

print ' '

print 'Verificando espaco alocado na tabela'+@tabela

set @comando2= 'dbcc updateusage ('+@database+','+@tabela+')'

exec (@comando2)

print '---------------------------------------------'

print ' '

fetch next from tabelas into @tabela

end

Print 'Final da Manuntencao'

print '****************************************************************************

***************'

print '****************************************************************************

******'

print '***************************************************************'

close base

close tabelas

deallocate tabelas

deallocate base

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  45
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  248
  • Conteúdo/Dia:  0.04
  • Reputação:   0
  • Pontos/Conquistas:  1.687
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  47

GrToko,

Quanto tempo leva cada processo, a execução do script e execução do shrink?

Obrigado.

Nilmar,

Rodei o script acima em uma base de 17 GB, demorou mais de 2 horas para finalizar.

[]s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  26
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  205
  • Conteúdo/Dia:  0.03
  • Reputação:   0
  • Pontos/Conquistas:  1.270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  42

Eduardo,

O que melhorou depois de rodar esse script - desempenho, tamanho, etc?

Obrigado.

Nilmar,

Rodei o script acima em uma base de 17 GB, demorou mais de 2 horas para finalizar.

[]s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  124
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  815
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Boa tarde Nilmar;

A minha Base é de 11 GB e demora 1 hora;

Instrução:

=> Não pode haver usuários logados no sistema;

=> DELETE GLOGIN ;

=> Efetuar um BKP;

=> Executar o Script que demorará 1 hora para cada 10 GB do Banco;

=> Reiniciar o Servidor;

=> Executar o Shrink;

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  45
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  248
  • Conteúdo/Dia:  0.04
  • Reputação:   0
  • Pontos/Conquistas:  1.687
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  47

Eduardo,

O que melhorou depois de rodar esse script - desempenho, tamanho, etc?

Obrigado.

Nilmar,

Reduziu um pouco o tamanho da base.

Boa tarde Nilmar;

A minha Base é de 11 GB e demora 1 hora;

Instrução:

=> Não pode haver usuários logados no sistema;

=> DELETE GLOGIN ;

=> Efetuar um BKP;

=> Executar o Script que demorará 1 hora para cada 10 GB do Banco;

=> Reiniciar o Servidor;

=> Executar o Shrink;

GrToko,

Fiz o seguinte,

Realizei o truncate na zlogin

Executei o script acima (demorou em torno de 3 horas)

Minhas base estava em torno de 17 GB

[]s.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.