Come recuperare i dati da una tabella SQL corrotta?

Summary: Quando una tabella di database SQL risulta danneggiata, è possibile ripristinare i dati della tabella dal backup più recente. Se il backup non funziona, è possibile utilizzare alcuni metodi per recuperare i dati dalla tabella SQL corrotta. Cercare di riparare o ricostruire la tabella, esportare i dati dalla tabella di SQL Server utilizzando l'utilità BCP o utilizzare uno strumento di recupero SQL professionale per ripristinare il database e tutte le sue tabelle. Leggete i dettagli di questi metodi.

Una tabella del database SQL può corrompersi a causa di problemi di archiviazione, come spazio insufficiente sull’unità, settori danneggiati sull’unità, ecc. Oltre a ciò, un attacco di malware, l’arresto improvviso del sistema e la cancellazione accidentale dei dati sono altri fattori che possono causare la corruzione della tabella. L’esecuzione di DBCC CHECKDB può aiutare a rilevare la corruzione della tabella. Ad esempio, un errore di corruzione della tabella si presenta come segue:

Metodi per recuperare i dati da una tabella SQL corrotta

Utilizzare i metodi indicati di seguito nella stessa sequenza per estrarre quanti più dati possibili dalla tabella danneggiata. Tuttavia, per evitare di perdere i dati, si consiglia di utilizzare uno strumento di recupero SQL.

Metodo 1 – Eseguire il comando DBCC CHECKDB con l’opzione di riparazione

Come si può vedere nel messaggio di errore sopra riportato, repair_allow_data_loss è suggerito come livello minimo di riparazione per risolvere l’errore. Eseguire DBCC CHECKDB con l’opzione di riparazione per la tabella corrotta (come indicato di seguito).

dbcc checkdb (nome_tabella, repair_allow_data_loss)

Sostituire ‘nome_tabella’ con il nome della tabella SQL problematica. Se non funziona, provate il metodo successivo.

Metodo 2 – Spostare i dati dalla tabella corrotta alla nuova tabella

Nota: questo metodo funziona solo se il database è accessibile. Se anche il database è interessato, utilizzare il metodo 3.

Eliminare tutti gli oggetti del database corrente e creare un nuovo database con una nuova tabella. Spostate tutti i dati, tranne la tabella danneggiata, nel nuovo database. Una volta terminato, provate a spostare i dati dalla tabella a quella nuova. I passaggi dettagliati sono i seguenti:

Se il problema persiste, passare al metodo successivo.

Metodo 3 – Utilizzare il programma di copia massiva (BCP) per esportare i dati della tabella

Bulk Copy Program (BCP) è un programma a riga di comando che consente di estrarre i dati da una tabella di database SQL e di esportarli in un formato di file specificato dall’utente. In sostanza, è possibile utilizzare l’utility BCP per esportare tutti i dati validi dalla tabella danneggiata in un file di dati. È quindi possibile importare i dati in una nuova tabella. Per sapere come utilizzare l’utilità, consultare questo link.

Anche se questo metodo può funzionare, copiare i dati di una tabella di grandi dimensioni e importarli in una nuova tabella può richiedere ore o giorni di lavoro.

Un’alternativa migliore per ottenere dati da una tabella SQL corrotta

Un’alternativa migliore per recuperare i dati da una tabella SQL corrotta è utilizzare uno strumento di recupero SQL, come Stellar Repair for MS SQL. Il software può aiutare ad eseguire un recupero più rapido delle tabelle del database SQL. Essenzialmente, il software ripara i file di database (MDF e NDF) e recupera tutti gli oggetti, comprese le tabelle, in pochi clic. Permette anche di recuperare i record eliminati. Ecco come funziona il software:

È possibile accedere ai dati della tabella dal file riparato memorizzato nella posizione selezionata.

Conclusione

Se la tabella del database SQL è corrotta, potete innanzitutto controllare il backup per ottenere i dati della tabella. Se il backup non è disponibile o non funziona, seguite i metodi discussi in questo post per ottenere i dati dalla tabella corrotta. Tuttavia, il modo migliore e più semplice è utilizzare uno strumento di recupero SQL per recuperare tutti i dati della tabella.

Related Post

Exit mobile version