Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Modi per recuperare i dati dal file di registro delle transazioni di SQL Server

Riepilogo: Molte volte l'amministratore del database SQL alla ricerca di modi per recuperare i dati dai registri delle transazioni di SQL Server, l'utente può leggere questo articolo per eseguire questa attività. Abbiamo fornito il miglior modo possibile e anche il modo più semplice per ripristinare i dati dal file (.ldf). Nel caso in cui tu stia riscontrando problemi di danneggiamento del database e desideri ripristinare gli oggetti del database, prova questo Recupera database SQL Software. Per ulteriori informazioni, l'utente può leggere questo articolo.

Ci sono momenti in cui i client affrontano circostanze spiacevoli del database nei loro database di SQL Server. Le situazioni potrebbero verificarsi durante l'amministrazione e il supporto dei file di database. A volte gli oggetti del database vengono eliminati involontariamente, per questo motivo gli amministratori del database devono affrontare numerosi problemi. Successivamente, per tornare al normale processo di lavoro, i file devono essere ripristinati nel database di SQL Server.

Il registro delle transazioni di SQL Server esegue un lavoro significativo nel ripristino dei dati eliminati nel caso in cui si esegua erroneamente l'operazione DELETE o UPDATE con una condizione inappropriata o senza una condizione di filtraggio. Ciò può essere ottenuto ascoltando i record riposti all'interno di questa scatola nera nota come file di registro delle transazioni di SQL Server.

Come recuperare i dati dal file di registro delle transazioni di SQL Server

Per analizzare le varie tecniche che possiamo utilizzare per recuperare i dati dal file di registro delle transazioni di SQL Server, creeremo un altro database con un'unica tabella, utilizzando lo script sottostante:

Dopo aver creato il database e la tabella, riempiremo quella tabella con 30 record, utilizzando l'istruzione INSERT INTO T-SQL sotto:

Non avendo ancora eseguito il backup dal database, come potremmo recuperare i dati della tabella se il comando UPDATE sottostante viene eseguito su quella tabella senza l'istruzione nowhere utilizzata per filtrare i dati da modificare?

Utilizzo di metodi integrati

1.) fn_dblog: Il contenuto del registro delle transazioni di SQL Server può essere letto in linea utilizzando varie funzioni implicite. La prima funzione che cercheremo di utilizzare per recuperare i dati persi è il fn_dblog . È una funzione non documentata con valori di tabella del framework, utilizzata per fare un tuffo nel registro delle transazioni di SQL Server e visualizzare il contenuto del segmento dinamico di quel file.

In modo da utilizzare il fn_dblog() funzione, devi fornire due parametri, l'LSN di inizio e di fine del log. Per visualizzare tutti i registri accessibili nel segmento dinamico del file di registro delle transazioni SQL, è possibile passare il valore NULL per questi due parametri. Poiché il risultato è tornato dal lavoro di fn_dblog() contiene 129 colonne, è meglio selezionare solo i segmenti che contengono i dati che ti interessano e filtrare il risultato per mostrare solo l'operazione che intendi recuperare. Ad esempio, l'operazione LOP_INSERT_ROWS viene registrata quando viene incorporato un altro record, l'operazione LOP_DELETE_ROWS viene registrata quando viene eliminato un nuovo record e l'operazione LOP_MODIFY_ROW viene registrata quando viene aggiornato un record corrente. Lo script sottostante può essere utilizzato per controllare le istruzioni di aggiornamento eseguite su quel database:

2.) fn_dump_dblog(): Il framework successivo ha funzionato in funzione, fn_dump_dblog(), ha un vantaggio rispetto al lavoro fn_dblog() è che può essere utilizzato molto bene per leggere il backup del registro delle transazioni di SQL Server, nonostante la possibilità di leggere il file del registro delle transazioni in linea. Poi ancora, per utilizzare la funzione fn_dump_dblog(), devi fornire 68 parametri obbligatori, come appare nello script sottostante:

3.) Comando pagina DBCC: SQL Server ci offre innumerevoli comandi DBCC che possono essere utilizzati per eseguire i vari tipi di attività di amministrazione di SQL Server. Uno di questi comandi non documentati è il comando DBCC Page, che può essere utilizzato per leggere il contenuto dei dati del database e registrare i file online. Per visualizzare il contenuto del file di registro del database, è necessario fornire il nome del database e l'ID del file di registro delle transazioni. L'ID del file di registro delle transazioni può essere recuperato dalla query sottostante.

Limitazioni dei metodi manuali per il recupero dei dati dal registro delle transazioni di SQL Server

  1. Difficile da eseguire.
  2. Richiede una forte conoscenza tecnica.
  3. Alto rischio di perdita di dati.

Soluzione esperta per Recupera i dati dal file di registro delle transazioni di SQL Server

Nel momento in cui un database viene danneggiato o i dati della tabella vengono erroneamente persi o modificati, il lungo tempo necessario per ricreare e analizzare i dati utilizzando le strategie implicite non può essere adeguato. In questo senso, dobbiamo cercare nel mercato dell'amministrazione di SQL Server uno strumento che possa essere utilizzato in modo efficace e immediato per leggere il contenuto del file di registro delle transazioni e mostrare questo contenuto in un formato facile da usare.

Lettore di file di registro SQL SysTools strumento, che può essere facilmente utilizzato per leggere il contenuto del file di log delle transazioni SQL online. Utilizzando questo software l'utente può facilmente leggere e analizzare i file di registro transazionale di SQL Server INSERT / UPDATE / DELETE operazioni. Questa applicazione professionale di livello aziendale può funzionare sia in ambiente di database offline che online. Inoltre, questa applicazione offre l'opzione di filtri dinamici per esportare un file di registro transazionale selettivo. Questo software supporta la versione SQL Server 2019.

Passaggi per recuperare i dati dal registro delle transazioni di SQL Server

  1. Scarica e installa l'analizzatore di log SQL.

2. Ora seleziona l'opzione database

3. Visualizzare in anteprima i dati del file di registro transazionale di SQL Server.

4. Fare clic sul pulsante Esporta per esportare i dati del file di registro.

Conclusione

Nonostante il fatto che la tecnica manuale possa recuperare elementi eliminati dalle tabelle SQL, non è un'opzione prescritta per i clienti a causa della sua complessità e noiosità. Si consiglia piuttosto di utilizzare una soluzione ideale per recuperare i dati dal file di registro delle transazioni di SQL Server.