Rastreamento de base de dados para registar as alterações efetuadas por um projeto de mapeamento de dados
Os administradores de bases de dados e outros profissionais de dados frequentemente desejam manter um registo das alterações em bases de dados críticas, especialmente quando as atualizações são efetuadas por scripts automatizados ou outras operações. O rastreamento de bases de dados permite que os administradores acompanhem alterações ou anomalias importantes, e ajuda a recuperar de erros. O Altova MapForce suporta o rastreamento de bases de dados para todas as bases de dados relacionais populares, registando as alterações efetuadas por um projeto de mapeamento de dados na base de dados quando o mapeamento é executado.
Quando o rastreamento está ativado, eventos como inserções ou atualizações de dados no banco de dados, ou erros, são registados num ficheiro XML que pode ser analisado posteriormente ou processado de forma automatizada.
A monitorização de bases de dados pode ser ativada a nível do componente da base de dados, da tabela, do procedimento armazenado ou do campo da base de dados. Pode optar por monitorizar todas as mensagens ou apenas os erros, ou pode desativar completamente a monitorização.

Além de identificar erros que ocorrem durante a execução de uma transformação para uma base de dados, o MapForce também permite o controlo de transações de base de dados, permitindo reverter a parte afetada dos dados da base de dados quando ocorre um erro, e, opcionalmente, prosseguir com o restante da transformação.
A ativação do tratamento de transações de base de dados irá encapsular todas as alterações efetuadas pelo componente de base de dados dentro de uma transação, que será revertida em caso de erro. Poderá optar por prosseguir com o restante da configuração ou interromper a execução da mesma. É possível ativar as transações tanto no nível do componente de base de dados como no nível das ações da tabela.
Vamos analisar um exemplo de rastreamento de uma base de dados.
A pasta de exemplos do MapForce inclui um mapeamento chamado Altova_Hierarchical_DB, que converte dados hierárquicos de um documento XML para tabelas numa base de dados.

Clicar com o botão direito na barra azul no topo do banco de dados abre a caixa de diálogo de propriedades, que inclui uma opção para ativar o registo de atividades e especificar o ficheiro de registo. O registo de atividades pode ser desativado, ativado apenas para erros, ou ativado para todas as ações. É também neste local que se especifica o nome e o caminho do ficheiro de registo do banco de dados.

Quando a operação de mapeamento é executada, clicando no botão "Saída" localizado abaixo da área de mapeamento, dois ficheiros são gerados.
Primeiro, apresentamos, logo abaixo, uma pré-visualização do script SQL. A base de dados não é modificada até que a opção "Executar script SQL" seja selecionada no menu "Saída". O segundo ficheiro é uma pré-visualização do registo de rastreamento XML.


O registo de atividades será atualizado posteriormente, com base na execução real do script, conforme documentado nas linhas 2 a 3 acima.
Personalização do rastreamento de bases de dados
Por vezes, poderá querer monitorizar apenas algumas operações específicas. O MapForce permite personalizar o monitoramento ao nível da tabela, do campo ou do procedimento armazenado. No mapeamento apresentado aqui, podemos querer monitorizar quaisquer erros, além de gerar um registo de todos os primeiros e segundos nomes adicionados à tabela "Person".
Podemos conseguir isto definindo o nível de rastreamento da base de dados para "Erros". Em seguida, podemos definir o rastreamento da tabela "Person" para "Sempre" e selecionar os campos que queremos ocultar ou incluir

Quando executamos o script SQL, a janela de visualização mostra o resultado de cada comando SQL. Nas capturas de ecrã abaixo, destacámos um nome para enfatizar.

O registo de eventos contém uma lista de todos os nomes que foram adicionados à tabela "Pessoas":

Qualquer rastreamento de saída adicionado a um mapeamento de base de dados também será executado quando o mapeamento for executado em modo automatizado pelo MapForce Server ou sob o controlo do FlowForce Server. Um processo do FlowForce Server pode até automatizar o processamento do ficheiro XML de registo de saída para criar um relatório personalizado.
Para validar ainda mais o resultado do nosso exemplo, podemos abrir a base de dados utilizando o DatabaseSpy, uma ferramenta única Ferramenta para consulta, design e comparação de bases de dados, que suporta múltiplas bases de dados, e explore diretamente o conteúdo da tabela:

Num futuro artigo, exploraremos a gestão de transações de bases de dados para reverter a parte afetada dos dados da base de dados quando ocorre um erro. Enquanto isso, para experimentar o rastreamento de bases de dados, seja seguindo este exemplo ou trabalhando com mapeamentos de dados para as suas próprias bases de dados, descarregue uma versão de avaliação gratuita do MapForce.