Domanda

Il problema è questo:

t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made

Come posso recuperare il record cancellato dopo t3 (che è ora)? Voglio il database in uno stato tra t0 e t1. Il livello del registro era pieno.

Modifica: ho già eseguito DBCC LOG (DB-Name, 3), ma il registro sembra essere troncato. Ci sono solo 10 articoli, anche se devono essere migliaia.

È stato utile?

Soluzione

Per riprodurre nuovamente il registro, si parte sempre da un registro completo, applicare i differenziali e quindi i backup del registro. La linea temporale è sempre in avanti dal backup completo, mai all'indietro. Quindi per arrivare allo stato dopo t0 (es. Recuperare il record eliminato) si inizia con un backup completo che è stato eseguito prima t0 e quindi si applicano i backup del registro con stop a t0.

Altri suggerimenti

Sebbene non sia una soluzione ideale, puoi provare a ripristinare il backup del database in un database separato, confrontare i database e apportare manualmente le modifiche necessarie.

Un altro modo è utilizzare un lettore di registro delle transazioni di terze parti come Registro ApexSQL .

Lance,

Il registro delle transazioni non è progettato per visualizzare le transazioni. Non è proprio quel tipo di registro. Inoltre, quando hai eseguito il backup del registro delle transazioni, questo avrebbe troncato il file di registro, poiché le informazioni sono state copiate su un file.

Vale anche la pena ricordare che quando si inserisce un database nel modello di recupero completo, esso rimane effettivamente in modalità Semplice fino a quando non si esegue un backup completo del database. Pertanto, se non è stato eseguito alcun backup prima di t0, non è possibile tornare a quello stato.

Rob

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