C'è un libero (o molto poco costoso) strumento per evidenziare i cambiamenti nei dati di sql server?

StackOverflow https://stackoverflow.com/questions/4206404

  •  25-09-2019
  •  | 
  •  

Domanda

Nota per taglie: risposta per favore solo se si sa di uno strumento in grado di monitorare ciò che cambia nella stessa db, non menzionare gli strumenti che mettono a confronto 2 DBS. Uno strumento visivo, come Embarcadero Change Manager è apprezzato.

Mi piacerebbe avere uno strumento che mi permette di vedere solo "ciò che è cambiato" in un db, data una specifica azione.

scenario può essere:

1) iniziare il monitoraggio (con lo strumento)

2) utente esegue un'azione su GUI (come cliccando sul pulsante "Applica" dopo aver cambiato il numero di telefono di un cliente)

3) arresto moniroting: mostrano variazioni (con lo strumento) (in questo caso dovrei vedere che il campo indirizzo è stato cambiato solo)

di Embarcadero Change Manager fa questo, ma lo fa anche molti altri le cose, ed è costoso. Sto cercando uno strumento semplice che fa solo questo.

Nota:. Confronto dello schema non ho bisogno, solo semplice confronto dei dati

È stato utile?

Soluzione

È possibile effettuare snapshot di database (abbastanza rapidamente) e quindi confrontare con il lavoro DB. Entrambi i problemi possono essere risolti con strumenti gratuiti .

Altri suggerimenti

Se si dispone di SQL Server 2008 Enterprise Edition è possibile utilizzare Change Data Capture per esporre il registro delle transazioni in un formato più usabile rispetto DBCC LOG dbname,3. Vedere http://msdn.microsoft.com/en-us/library/bb522489. aspx per ulteriori informazioni.

Scopri la versione Lite / Free dei vari strumenti xSQL:

http://www.xsqlsoftware.com/LiteEdition.aspx

Il hanno un oggetto livello confrontare , nonché un dati confronto strumento .

Quelli non fare il lavoro "al volo", ma si può sempre avere un database come riferimento, e confrontare il vostro attuale uno contro quella linea di base.

Per libero, una possibilità è quella di utilizzare DBCC LOG dbname,3 il dump del log delle transazioni.

Probabilmente essere divertente interpretare l'uscita, ma certamente fattibile.

L'altra alternativa è quella di mettere gratuitamente tabelle di controllo in atto e mettere i trigger di controllo su tutti i tavoli. Questo è un po 'più flessibile di Change Data Capture, perché è possibile specificare alcune cose che additonal Change Data Capture non cattura.

Profiler è anche uno strumento che si può usare per vedere che cosa richiesta l'applicazione inviata al database che dovrebbe dirvi ciò che è stato cambiato in molti casi. Questa è una soluzione meno permanente di revisione contabile, ma prendere in considerazione se il controllo è qualcosa che si troverebbero utile nella corsa logn.

Non riesco a immaginare di gestione di un database senza la creazione di auditing. E 'semplicemente troppo utile per fissare le modifiche dei dati cattivi o findong fuori che ha fatto una particolare modifica.

Lo strumento più ovvia sarebbe quella di SQL Profiler. Sarà monitorare ogni istruzione SQL, e quindi ogni modifica dei dati, che viene inviata al server e vi mostrerà le metriche su questa affermazione, l'account con cui è stata eseguita l'istruzione e una miriade di altri pezzi di informazioni e viene fornito gratuitamente con la maggior parte di SQL Le versioni server. Se si desidera solo per vedere le modifiche dei dati, è possibile aggiungere filtri per mostrare solo Insert, Update e DELETE.

Se ciò che si sta cercando di fare è confrontare due basi di dati per vedere quali dati sono differenti tra loro, allora vi consiglio qualcosa come dati di Red-Gate Confronta (no io non lavoro per loro). E non è libero, ma prezioso per questo tipo di valore della colonna per confronto valore della colonna.

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