Tracciare log utenti

venerdì 03 ottobre 2008 - 16.04

tarabasch84 Profilo | Junior Member

Ciao ragazzi,
vorrei realizzare un sistema di gestione e tracciamento di operazioni di manipolazione dati (su db sql server 2005) che dei client effettuano da terminale durante l'utilizzo dell'applicazione sw. Attualmente riesco a gestire soltanto la memorizzazione delle informazioni che riguardano l'accesso e la chiusura al programma. Vorrei memorizzare anche informazioni del tipo "l'utente Tizio ha inserito un nuovo articolo", "l'utente Caio ha modificato la ragione sociale dell'azienda XYZ", il computer da cui ha fatto l'accesso, ect... Avete qualche consiglio? Come dovrei gestire la struttura del db? Vorrei evitare l'utilizzo di tool esterni (OmniAudit) anche perchè costicchiano un bel po'...
Saluti Aldo
--
Credo che parte della colpa sia di billy...

stepic77 Profilo | Newbie

Prova con la clausola output
http://msdn.microsoft.com/en-us/library/ms177564.aspx

In questo caso, ad ogni inserimento della MIATABELLA verrà aggiunto un record nella T_TRACCIA (tabella T_TRACCIA con solamente un campo varchar)

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


oppure una cosa del genere (T_TRACCIA con 5 campo)

INSERT INTO MIATABELLA (SYS_USER, ID_PRODOTTO, DESCRIZIONE) output 'INSERT', inserted.SYS_USER,inserted.ID_PRODOTTO, inserted.DESCRIZIONE into T_TRACCIA VALUES (@SYS_USER, GETDATE(), @ID_PRODOTTO, @DESCRIZIONE)


tarabasch84 Profilo | Junior Member

Ciao, sei stato chiaro. Però vorrei farti un'altra domanda. Se scegliessi di lavorare con dei trigger associati alle operazioni CRUD su ogni tabella potrebbe essere più dispendioso in termini di prestazioni che il db deve sopportare? La gestione degli utenti in tal caso verrebbe delegata a sql server oppure dovrò creare una tabella User nel mio db?

--
Credo che parte della colpa sia di billy...

stepic77 Profilo | Newbie

Si, i trigger sono la scelta migliore, più semplice da gestire in termine di codice da scrivere.
Per quanto riguarda la gestione degli utenti, non ho capito bene cosa intendi.

stepic77 Profilo | Newbie

ops ho ripetuto il messaggio

tarabasch84 Profilo | Junior Member

Per utenti intendo gli utilizzatori dell'applicazione software in rete client/server. La domanda è: dovrò creare una tabella nel mio db che gestisce l'anagrafica utenti con le relative operazioni tracciate oppure dovrà creare gli utenti a livello server e tracciare le operazioni a livello server?
Spero di essere stato chiaro nella richiesta..
Ciao
--
Credo che parte della colpa sia di billy...

stepic77 Profilo | Newbie

Sono 2 ottimi sistemi, credo che l'unico problema sia legato alle licenze.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5