Pergunta

Quero fazer isso, porque gostaria de saber quantas vezes uma linha específica foi alterada.

Isso é possível?

Obrigado

Foi útil?

Solução

A leitura do arquivo de log leva uma ferramenta comercial ou uma quantidade incrível de conhecimento interno da SQL para alcançar. Você pode ver parte da saída bruta usando: selecione * de :: fn_dblog (nulo, nulo)

Na verdade, a decodificação para encontrar o mesmo registro sendo alterada e garantir que qualquer alteração fosse cometida etc. seria uma tarefa difícil de colocá -lo de ânimo leve. Portanto, é 'possível', mas não muito 'provável', que você possa fazê -lo.

Se você precisar dessa funcionalidade em um banco de dados, deve procurar gatilhos / lógica dentro do código.

Outras dicas

Resposta tardia, mas espero que seja útil para novos leitores…

Mais uma função que você pode experimentar é o log do DBCC, mas infelizmente essa é uma função indocumentada igual a fn_dblog.

O problema com o log de transações no SQL Server é que ele nunca foi para ser usado para isso, mas apenas para permitir propriedades de recuperação e transação do ponto no tempo.

Há um comercial Log Reader do ApexSQL que você pode tentar.

Aqui também estão alguns posts semelhantes que podem levar você na direção certa.

Leia o arquivo de log (*.ldf) no SQL Server 2008

SQL Server Transaction Log Explorer/Analyzer

você pode usar este programa para fazer isso http://www.red-gate.com/products/sql_log_rescue/index.htm

Considere usar o SQL Server 2008.

Há um recurso novo no SQL Server 2008 chamado Alterar captura de dados Isso faz exatamente o que você precisa, ou seja, rastrear modificações de dados ao longo do tempo.

Procurar inspecionar o arquivo de log para rastrear alterações não é uma prática sábia. Isso fornecerá um histórico limitado, cujo escopo também dependeria do modelo de recuperação que você usa para o seu banco de dados.

Você pode "rolar sua própria solução" com uma pequena quantidade de desenvolvimento, usando uma tabela de log e preenchendo -a usando gatilhos do SQL Server. A adequação de tal solução depende, obviamente, do seu caso de negócios.

Dê uma olhada no seguinte artigo do Technet para uma leitura interessante:

Rastreando alterações no seu banco de dados corporativo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top