Sto convertendo un'applicazione da Access a SQL Server 2014. Una delle funzionalità di questo strumento è consentire agli utenti di creare query SQL ad hoc per modificare l'eliminazione o aggiungere dati a un numero di tabelle.Monitoraggio di chi apporta modifiche a SQL Server nell'applicazione C# o SQL Server
In questo momento in Access non c'è traccia di chi fa cosa se qualcosa viene incasinato, non c'è modo di sapere chi era o quando è successo (è successo abbastanza volte che è un problema serio e una delle molte ragioni per cui lo strumento viene riscritto).
L'applicazione che sto scrivendo è un'applicazione Windows in C#. Sto cercando QUALSIASI e tutti i suggerimenti sui modi in cui questo può essere fatto senza mettere una grande richiesta sul server (elaborazione o spazio). Dal momento che gli utenti stanno creando le proprie query non posso semplicemente aggiungere una colonna per nome utente e data (anche quella tracciare solo le modifiche più recenti).
Non è necessario conservare i vecchi dati o persino identificare esattamente ciò che è stato modificato. Solo chi ha cambiato i dati e quando l'hanno fatto. Voglio essere in grado di guardare qualcosa (vista, tabella o anche database separato) che mi mostra un elenco di utenti che hanno apportato una modifica e quando l'hanno fatto.
v'è un meccanismo incorporato in SQL Server dalla versione 2008, Change Data Capture (CDC), che fa solo quello. E ti mostrerà anche cosa è stato esattamente cambiato. –
Da tutto quello che ho letto fino ad ora, CDC non acquisisce il nome utente che ha apportato la modifica. Inoltre non ho bisogno di mantenere tutte le modifiche. questo potrebbe far crescere il DB molto più grande di quello che voglio. –
Come gestisci l'accesso al database nella tua app C#? Single userId o autenticazione di Windows (che significa che ogni utente ha un account di database)? – UnhandledExcepSean