Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Log di sql server
mercoledì 19 maggio 2010 - 14.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trappy
Profilo
| Newbie
40
messaggi | Data Invio:
mer 19 mag 2010 - 14:31
salve a tutti, la domanda è questa: esiste la possibilità in sql server di tenere traccia di tutte modifiche fatte a determinate tabelle di un database? mi spiego meglio, un cliente prima mi fa fare delle attività e poi cancella alcuni dei dati negando anche la cosa (astenetevi dai commenti... bastano i miei!) e quindi mi chiedevo se c'era la possibilità di tenere traccia di tutte le modifiche avvenute, un pò come i file sotto giornale in ambiente AS400... in modo da poter affermare: in tale data è stata fatta questa modifica.... Tenere lo storico di tutti i backup giornalieri è un pò pesante, anche perchè non so quando il cliente ha queste brillanti idee...
grazie mille
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 19 mag 2010 - 14:38
>salve a tutti, la domanda è questa: esiste la possibilità in
>sql server di tenere traccia di tutte modifiche fatte a determinate
>tabelle di un database?
Ciao,
SQL Server 2008 introduce le funzionalità di Change Tracking (tutte le edizioni) e Change Data Capture (solo Enterprise):
http://msdn.microsoft.com/en-us/library/cc280462.aspx
http://msdn.microsoft.com/en-us/library/bb522489.aspx
http://msdn.microsoft.com/en-us/library/cc280519.aspx
Per le edizioni precedenti non esiste niente di nativo ma occorre implementare qualcosa di manuale (ad esempio tramite triggers).
>grazie mille
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 19 mag 2010 - 14:40
>salve a tutti,
Ciao
>la domanda è questa: esiste la possibilità in
>sql server di tenere traccia di tutte modifiche fatte a determinate
>tabelle di un database? mi spiego meglio, un cliente prima mi
>fa fare delle attività e poi cancella alcuni dei dati negando
>anche la cosa (astenetevi dai commenti... bastano i miei!) e
>quindi mi chiedevo se c'era la possibilità di tenere traccia
>di tutte le modifiche avvenute, un pò come i file sotto giornale
>in ambiente AS400... in modo da poter affermare: in tale data
>è stata fatta questa modifica.... Tenere lo storico di tutti
>i backup giornalieri è un pò pesante, anche perchè non so quando
>il cliente ha queste brillanti idee...
Ci sono vari approcci, diciamo che dipende anche dalla versione del tuo sql server.
Puoi sempre creare qualcosa di applicativo (se l'utente usa un'applicazione per modificare il database).
Oppure puoi pensare di fare dei trigger dml o ddl in base all'evenienza.
O ancora puoi implementare il change data capture, se hai 2008:
http://msdn.microsoft.com/en-us/library/bb522489.aspx
Se il cliente usa un'applicazione il log personalizzato è una delle soluzioni più precise ma ti obbliga ad re-implementare parte del software.
Se il cliente va direttamente su tabella senza passare da applicazione non è una bella cosa, ma in quel caso puoi fare trigger o cdc.
>grazie mille
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
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 !