Domanda

Io voglio fare questo, perché mi piacerebbe sapere quante volte una determinata riga è stata modificata.

È possibile?

Grazie

È stato utile?

Soluzione

Leggere il file di log o prende uno strumento commerciale, o una quantità incredibile di interni SQL conoscenze da raggiungere. È possibile vedere alcuni dei dell'uscita grezzo usando:     Select * from :: fn_DBlog (null, null)

In realtà la decodifica di trovare lo stesso record venga alterato e garantire alcuna alterazione è stato commesso, ecc sarebbe un compito difficile per dirla alla leggera. Così è 'possibile', ma non molto 'probabile' che si sarà in grado di farlo.

Se è necessario che la funzionalità all'interno di un database, allora si dovrebbe essere guardando trigger / logica all'interno del codice.

Altri suggerimenti

risposta in ritardo, ma spero che possa essere utile ai nuovi lettori ...

Ancora una funzione che si può provare è LOG DBCC, ma purtroppo questo è funzione non documentata stesso fn_dblog simili.

problema con log delle transazioni in SQL Server è che non è mai stato pensato per essere utilizzato per questo, ma solo per permettere punto nella proprietà di recupero e di transazione di tempo.

C'è un lettura log da ApexSQL che si può provare.

Qui ci sono anche paio di messaggi simili che potrebbero ottenere nella direzione giusta.

leggere il file di log (* .LDF) in SQL Server 2008

SQL Server Transaction Log Explorer / Analyzer

è possibile utilizzare questo programma per farlo   http://www.red-gate.com/products/SQL_Log_Rescue/index. htm

Si consiglia di utilizzare SQL Server 2008.

C'è una nuova funzionalità a SQL Server 2008 denominata Change Data Capture che fa esattamente ciò che si richiede, che è quello di monitorare le modifiche dei dati nel corso del tempo.

Guardando per ispezionare il file di log al fine di tenere traccia delle modifiche non è una pratica saggia. In questo modo vi fornirà una storia limitata, la cui portata sarebbe anche dipendente dal modello di recupero che si utilizza per il database.

Si potrebbe "roll your own" soluzione con una piccola quantità di sviluppo, utilizzando una tabella di log e lo ha popolato utilizzando i trigger di SQL Server. L'idoneità di tale soluzione è naturalmente dipende dal business case.

Date un'occhiata al seguente articolo di TechNet per qualche lettura interessante:

traccia delle modifiche nella vostra impresa database

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