quarta-feira, maio 11, 2005

Perda de dados em tabelas de ERP

Hoje fui a um cliente apressadamente porque a aplicação de gestão, não estava a reportar-lhe os extractos bancários. Achei estranho, mas lembrei-me que na 2º feira tinham-me ligado dessa empresa a dizer que uma alteração a uma transferência bancária, tinha demorado mais do que o costume, 20 minutos mais do que o costume.
Pensei que tivesse algo a ver com updates de tabelas, pois a aplicação tinha sofrido um upgrade à pouco tempo. Cheguei lá e constatei que todos os movimentos de tesouraria, todas as linhas, tinham sido actualizadas com os dados da alteração à transferência bancária. Que fazer?? Backup???...apesar de terem sido avisados mais do que uma vez, a verdade é que o último backup que havia era de julho de 2004. Sorte a minha e do cliente, que quando fiz o upgrade, tinha efectuado uma cópia de segurança (IMPORTANTÍSSIMO!!), só que com 1 mês de atraso. Apaguei as tabelas de movimentos de tesouraria e extractos bancários e copiei as duas tabelas da cópia de segurança para a base de dados que estava a ser usada. Antes disso certifiquei-me que os triggers estavam desactivados (pois as duas tabelas tinham triggers para insert, update e delete.), fiz truncate table xxxx (Reinicia a tabela) e passei os dados para as tabelas vazias. Muito bem...Mantiveram documentos, transferências, recibos, pagamentos etc, apenas teriam de processar novamente (fazendo o desprocessamento/processamento) para que o movimento fosse novamente inserido na tabela de movimentos e extractos.
Agora é esperar e ver se não me esqueci de algo importante. Ainda para mais a base de dados está na plataforma MSDE, que como suspeitam, limitava-me muito as tarefas que tinha de realizar.Porque aconteceu e o quê??... Bem liguei para a linha de apoio a cliente do softwre em causa, e estes limitavam-se a dizer pois...acho que sim, enquanto colocava o problema, expunha a solução e ainda lhe explicava porque tinha acontecido. O que de facto tinha acontecido, foi ao gravar um registo, um campo que funciona como chave primária de regist e que se relaciona com outras tabelas, tinha ficado em branco.
Daí até ao problema, foi um clique...

Sem comentários: