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

Sapere come recuperare la tabella eliminata in SQL Server 2012 senza backup

Riepilogo:vuoi sapere come recuperare la tabella eliminata in SQL Server 2012 senza backup. Leggi questo articolo per recuperare gli oggetti di database eliminati utilizzando soluzioni efficienti e rapide.

A volte, un cliente può eseguire UPDATE operazione o ELIMINA operazione nel database di SQL Server senza applicare il WHERE condizione. Questa è una tipica spiegazione alla base della perdita di dati dalle tabelle di SQL Server. Poiché il database di SQL Server è un DBMS relazionale eccezionalmente tradizionale tra le divisioni aziendali e le organizzazioni, il problema della perdita di dati si amplifica molto di più. Pertanto, i clienti dovrebbero conoscere le strategie per recuperare i dati eliminati dalla tabella di SQL Server in caso di eventi disastri.

Le righe eliminate possono essere recuperate utilizzando LSN se l'ora di eliminazione è nota. Ciò dovrebbe essere possibile utilizzando Log Sequence Numbers (LSN). LSN è un identificatore speciale assegnato a ogni record presente nel registro delle transazioni di SQL Server. Parleremo della procedura per recuperare dati e tabelle SQL Server cancellati con l'assistenza di Transaction Log e LSN.

Suggerito: Per evitare il lungo e errato metodo LSN manuale per gestire il recupero dei record eliminati dalla tabella SQL utilizzando uno strumento di terze parti avanzato, ad esempio lo strumento di ripristino del database SQL .

Procedura per sapere come recuperare la tabella eliminata in SQL Server 2012 senza backup

Ci sono alcuni requisiti da soddisfare prima di avviare la procedura per recuperare i dati cancellati dalla tabella SQL. Per recuperare in modo efficace le righe eliminate da una tabella nel database di SQL Server, è necessario che sia presente il modello di ripristino BULK-LOGGED o FULL al momento dell'eliminazione. Sono necessarie alcune attività rapide in modo che i registri siano ancora accessibili per eseguire il recupero dei dati.

Segui i passaggi offerti di seguito per recuperare i dati eliminati da SQL Server 2005, 2008, 2012, 2014 e 2016 utilizzando i registri delle transazioni.

Passaggio 1

Controlla il numero di righe presenti nella tabella da cui i dati sono stati eliminati inavvertitamente utilizzando la domanda sotto riportata:

SELEZIONARE * DA Nome_tabella

Passaggio 2

Esegui il backup del registro delle transazioni del database utilizzando la query riportata di seguito:

UTILIZZA il nome del database

Vai

Registro di backup [nome database]

TO DISK =N'D:\Databasename\RDDTrLog.trn'

CON NOFORMAT, NOINIT,

NAME =N'Databasename-Backup del registro delle transazioni',

SKIP, NOREWIND, NOUNLOAD, STATS =10

Vai

Passaggio 3

Per recuperare i dati cancellati dalla tabella di SQL Server, dobbiamo raccogliere alcuni dati sulle righe eliminate. Esegui la query offerta di seguito per ottenere questo motivo

UTILIZZA il nome del database

Vai

Seleziona [LSN corrente], [ID transazione], Operazione, Contesto, AllocUnitName

DA

fn_dblog(NULL, NULL)

WHERE Operazione ='LOP_DELETE_ROWS'

Dalla query data sopra, otterremo l'ID transazione (diciamo 000:000001f3) delle righe eliminate. Al momento, quando queste righe sono state eliminate, è necessario utilizzare questo ID.

Passaggio 4

In questa progressione, individueremo il momento particolare in cui le righe sono state eliminate utilizzando l'ID transazione 000:000001f3. Questo è finito eseguendo la richiesta data come segue:

UTILIZZA il nome del database

Vai

SELEZIONA

[LSN corrente], Operazione, [ID transazione], [Ora inizio], [Nome transazione], [SID transazione]

DA

fn_dblog(NULL, NULL)

DOVE

[ID transazione] ='000:000001f3'

E

[Operazione] ='LOP_BEGIN_XACT'

Eseguendo questa richiesta otterremo la stima dell'attuale Log Sequence Number (LSN) (supponiamo 00000020:000001d0:0001).

Passaggio 5

Attualmente inizieremo la procedura di ripristino per recuperare i dati cancellati dalle righe della tabella di SQL Server che sono state perse. Questo è finito usando la query sottostante:

UTILIZZA il nome del database

Vai

Ripristina DATABASE Nome database_COPIA DA

Piatto ='D:\Nome database\RDDFul.bak'

CON

SPOSTA "Nome database" IN "D:\RecoverDB\Nomedatabase.mdf",

SPOSTA "Databasename_log" IN "D:\RecoverDB\Databasename_log.ldf",

SOSTITUIRE, NORECOVERY;

Vai

  Passaggio 6

Attualmente applica il registro delle transazioni per ripristinare le righe eliminate utilizzando LSN 00000020:000001d0:0001:

UTILIZZA il nome del database

Vai

Restore LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' Nota:poiché i valori LSN sono in struttura esadecimale e per ripristinare le tabelle utilizzando questo LSN, dobbiamo cambiarlo nella struttura decimale. Per questo motivo, includiamo 0x non molto prima dell'LSN come apparso in precedenza.

Passaggio 7

La procedura per recuperare i record cancellati dalla tabella SQL verrà completata in modo efficace. Attualmente controlla se i record eliminati sono tornati nel database denominato Databasename_Copy.

USE Databasename_Copy GO Seleziona * da Table_name

  Limitazioni dell'approccio del registro delle transazioni

  • Strategia profondamente noiosa per recuperare i dati cancellati da SQL Server Table, poiché include alcune query estese da eseguire.
  • Incredibilmente sbalorditivo da realizzare per i clienti che non dispongono di dati specializzati sufficienti.
  • Probabilità più evidenti di perdita di dati a causa di errori durante l'applicazione e l'esecuzione delle query.

Soluzione elettiva da conoscere Come recuperare la tabella eliminata in SQL Server 2012 senza backup

La migliore soluzione elettiva è accessibile per recuperare righe da SQL Server 2019/2017/2016/2014/2012/2008/2005. La soluzione elettiva di cui parliamo qui può risolvere ogni singolo problema che emerge in SQL Server. Può correggere gli errori SQL e correggere i file SQL MDF e NDF. Strumento di ripristino SQL di FreeViewer è uno strumento aziendale che permette di recuperare Trigger, Regole, Funzioni, Tabelle. Inoltre, ripristina ulteriormente le stored procedure in SQL Server in modo efficace senza perdita di dati. La parte significativa è che l'applicazione offre molte opzioni avanzate durante la correzione dei file di database di SQL Server danneggiati. Inoltre, questa applicazione mostra i record della tabella SQL eliminati in colore rosso. Questo prodotto funziona bene con Microsoft Outlook 2019 e tutte le sue versioni inferiori.

Scarica la versione demo gratuita per comprendere la migliore capacità possibile dell'applicazione.

Passaggi per recuperare facilmente gli oggetti di database eliminati

  1. Scarica e invia il  recupero SQL strumento e apri il file MDF.
  2. Seleziona l'alternativa Scansione avanzata, Rileva la versione di SQL Server per recuperare i record eliminati in SQL Server.
  3. Lo strumento avvierà la Scansione procedura del file di database primario (MDF)
  4. Vedi i componenti del database SQL, lo strumento mostra i record della tabella SQL eliminati in colore rosso. Dopodiché, fai clic su Esporta
  5. Devi fornire i dettagli di autenticazione del database nel segmento successivo.
  6. Seleziona "Crea nuovo database" opzione e assegna un nome database.
  7. Fare the Database 'Con schema e dati' per recuperare i dati nelle righe eliminate in SQL Server. (Seleziona anche la casella di controllo Esporta record eliminati)
  8. Salva attualmente il rapporto e apri il database creato di recente che contiene i record recuperati.

Conclusione

Leggi anche:l'utente può anche leggere un altro post simile per conoscere le migliori pratiche per il ripristino di emergenza di Microsoft SQL Server.

Sebbene la strategia LSN possa ripristinare i record eliminati dalle tabelle SQL, è tutt'altro che una scelta prescritta per i clienti a causa della sua natura multiforme e ripetitiva. Piuttosto, si consiglia di utilizzare una soluzione automatizzata per sapere come recuperare la tabella eliminata in SQL Server 2012 senza backup.