GARANTIR DESCONTO

Fórum Monitorar o banco de dados #330868

08/10/2006

0

olá pessoal,
como eu poderia, via programação delphi, ou com algum recurso do próprio BD, verificar se alguma tabela foi alterada, se sofreu uma inserção por exemplo ....

[..]s


Rafael Gomes

Rafael Gomes

Responder

Posts

16/10/2006

Rafael Gomes

o que eu quero é monitorar alteraçoes feitas em registros por aplicativos de terceiros. No primeiro momento pensei em trigers, mas nao gostei muito da solucao. Vou ver se com SQL monitor é possivel fazer da forma como eu quero.

caso alguem tenha outra ideia diferente!! :)

[..]s


Responder

Gostei + 0

17/10/2006

Leonardoffsilva

Amigo, no meu sistema, sempre tenho uma tabela de log para cada tabela do sistema. Cada tabela tem uma trigger associada a um evento (Insert, Update, Delete). com isso, monitoro o usuario, da data e hora da atualização e os dados anterior a atualização. Sem isso, não é possível garantir seus dados. Principalmente porque sua base pode ser acessada por aplicativos de terceiros.


Responder

Gostei + 0

17/10/2006

Leonardoffsilva

Ha, esqueci. As tabelas de Log não são visiveis aos usuários normais. Só ao administrador. Quando muito, os usuários podem apenas ler os registros, mas é vetado a inserção ou alteração deses dados. Com isso, é possivel fazer um rollback de toda a operação de um usuário em um determinado período. Pense nisso.


Responder

Gostei + 0

18/10/2006

Rafael Gomes

continuam sem entender o problema hehe :( ,
por favor peço que leiam todo topico para uma melhor compreensao ...

existe uma aplicacao qualquer, que se conecta em um banco de dados SQL Server por exemplo, eu nao tenho o codigo fonte dessa aplicação, nao sei quem desenvolveu, eu apenas consigo me conectar no mesmo database que esta aplicaçao usa. Minha tarefa é monitorar as alterações dos registros nesse database atraves de uma aplicação criada por mim ...

hehe, ultima tentativa ... :(

[..]s


Responder

Gostei + 0

19/10/2006

Aerreira

Rafael,

Ao meu ver, acho que precisará replicar todo o banco de dados da seguite forma:

- Inicialmente, faça uma cópia fiel do banco que precisa monitorar para outro local ou outro nome.
- Sua aplicação deverá abrir os dois bancos, o original e a cópia.
- Sua aplicação precisará varrer cada tabela do banco original e verificar se existe no banco cópia que foi feito antes (outra hora ou mesmo outro dia).
- Caso não exista, então esse registro foi inserido após a cópia inicial feita.
- Neste caso, você registra essa informação em algum lugar (outra tabela ou um relatório) e inclui o registo no seu banco cópia.
- Continua o processo em todas as tabelas.

O banco cópia não precisa mais ser copiado.
Na próxima vez que rodar sua aplicação de monitoramento, os dois bancos serão novamente comparados, e quaisquer novos registros inseridos no banco original aparecerão como novos, e consequentemente aparecerão no log de monitoramento.

[i:f9cd5f3c86]Relí suas mensagens, e ví que precisa também monitorar alterações, então não bastará verificar se o registro é novo, precisará também saber se o conteúdo de cada campo de cada registro de cada tabela foi alterado ou não. Com isso seu processo ficará bem mais complicado, mas nada impossivel de ser feito não.[/i:f9cd5f3c86]

Será que consegui entender seu problema?


Responder

Gostei + 0

24/10/2006

Rafael Gomes

olá aerrira, finalmente alguem compreendeu de forma correta o meu problema. Eu estudei essa solução e talvez nao seja viavel, mas já é um bom começo!! obrigado pela atenção!!

[..]s


Responder

Gostei + 0

24/10/2006

Aerreira

[quote:01ca032ad9=´Rafael Gomes´]olá aerrira, finalmente alguem compreendeu de forma correta o meu problema. Eu estudei essa solução e talvez nao seja viavel, mas já é um bom começo!! obrigado pela atenção!!
[..]s[/quote:01ca032ad9]
Talvez não seja viável... ok, mas tente nos explicar porque pode não ser viável, quais os fatores que impedem? Talvez mais alguem lhe traga alguma solução para esse impedimento.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar