/ / Histórico da coluna para manter o histórico - sql, sql-server

Histórico da coluna para manter o histórico - sql, sql-server

Eu quero ter uma tabela que contenha informaçõessobre uma tarefa. PriorityId, StateId, AssignedToUserId etc. Essas colunas podem ser atualizadas. Eu gostaria de poder listar o histórico de uma tarefa, mostrando as alterações, e o usuário que fez as alterações. A tabela terá uma tabela UpdateUserId com o usuário que fez a atualização.

Devo fazer uma tabela "myTable_History" idêntica e usar apenas um gatilho para enviar toda a linha atualizada (ou inserida) para a tabela de histórico? Ou há uma maneira melhor de fazer isto?

Não tenho certeza se isso faz diferença, mas estou usando exclusões suaves ... e uma coluna de identidade como o ket primário da tabela principal.

Agora com certeza de uma boa maneira de mostrar as mudanças, mas isso é outra questão.

Respostas:

3 para resposta № 1

Usando o rastreamento em nível de linha e em nível de coluna

O Change Tracking permite que um aplicativo rastreie todas as alterações feitas pelo usuário e esse é um método integrado

http://msdn.microsoft.com/en-us/library/ms172023(v=sql.90).aspx http://msdn.microsoft.com/en-us/library/bb964713.aspx

amostra http://blogs.msdn.com/b/davidhardin/archive/2011/02/06/sql-server-2008-column-change-tracking.aspx


0 para resposta № 2

Mais fácil seria usar o CDC. Muitos recursos em torno de como fazer isso.