Domanda

Un audit trail DB acquisisce l'ultima modifica dell'utente, la data di modifica e la data di creazione.

Esistono diverse implementazioni possibili:

  • Trigger di SQL Server
  • Aggiungere le colonne UserModified, ModifiedDate, CreatedDate al database e includere la logica nelle procedure memorizzate o nelle istruzioni Insert, Update di conseguenza.

Sarebbe carino se includessi l'implementazione (o il collegamento a) nella tua risposta.

È stato utile?

Soluzione

A seconda di ciò che stai facendo, potresti voler spostare il controllo dal livello dati al livello di accesso ai dati.Ti dà più controllo.

Ho posto una domanda simile a NHibernate e SqlServer Qui.

Altri suggerimenti

Sono totalmente secondo @IainMH (e lo ho votato).

Vuoi averlo nel tuo DAL e idealmente legato a una sorta di meccanismo di inserimento aspetto/intercettatore/codice.

+2 per l'implementazione di quando come controllare nel DAL.

Per quanto riguarda dove dovrebbero risiedere le voci di audit stesse, dipende da come saranno visibili.Farei una tabella separata se gli utenti possono visualizzare un "rapporto di audit trail" separato, ma taggherei le tabelle esistenti se desideri visualizzare gli ultimi controlli di tipo modificato in linea.

Ecco l'implementazione che utilizzo per controllare le tabelle:Domande frequenti su SQL Server N. 5 di Pop Rivett:Fai un salto sulla pista di controllo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top