- La perdita di dati è un problema comune, ma ti mostreremo come riparare un database danneggiato in SQL Server.
- Questo problema può derivare da una semplice sovrascrittura o dall'eliminazione accidentale di file a causa di infezioni da virus e configurazione errata.
- Il malfunzionamento dell'unità di archiviazione può anche produrre il danneggiamento dei file e ciò include il database SQL.
![Come riparare un database danneggiato in SQL Server](/f/094194224ba2829a86a5da56e08562ff.jpg)
Ovviamente, è frustrante scoprire un database danneggiato sul tuo SQL Server per ovvi motivi. Non puoi accedere alle informazioni e il tuo lavoro si ferma.
Tuttavia, ci sono molti modi per risolvere questo problema con soluzioni manuali o utilizzando uno strumento intelligente e dedicato di terze parti chiamato Casella degli strumenti di ripristino per SQL Server.
Ma prima di iniziare la risoluzione dei problemi, capiamo e indaghiamo un po' perché questo problema si verifica in primo luogo.
Che cos'è un SQL Server e come possiamo identificare il database?
Un server SQL è un sistema di database, sviluppato da Microsoft, utilizzato per gestire, archiviare e recuperare dati da altre applicazioni.
Esistono tre tipi di file per archiviare e gestire i dati in un server SQL: file primari (con estensione .MDF), file secondari (con estensione .NDF) e file di registro (con estensione .LDF).
Siamo particolarmente interessati a quei file MDF perché sono quelli che forniscono l'archiviazione del database.
Perché un database viene danneggiato su un server SQL?
Ci sono molte possibili ragioni per cui il database del tuo server SQL può essere danneggiato, da una semplice sovrascrittura o eliminazione accidentale di file a infezioni da virus e configurazione errata.
Esaminiamo alcune delle cause più comuni di questo problema:
- Sovrascrittura di un file – Se si sovrascrive per errore un file MDF esistente, si rischia di danneggiare il database
- Tentativo di sbloccare il database SQL - Se tu dimenticato la password SQL e immetterlo in modo errato troppe volte, ciò può causare il danneggiamento di SQL Server
- Guasto sull'unità di archiviazione – Inutile dire che un malfunzionamento dell'unità può produrre il danneggiamento dei file, incluso il database
- Problemi con la configurazione del database SQL – Se la configurazione SQL cambia, ciò può disabilitare l'accesso ai file MDF
- Infezione da virus – Questo è un problema comune per qualsiasi danneggiamento dei file, non solo dei file di database SQL e anche se rimuovi il virus utilizzando i migliori antivirus, purtroppo potresti comunque perdere alcuni dati
- Bug interni di SQL – Sebbene sia una soluzione efficace, potrebbe comunque avere i suoi bug che possono causare il danneggiamento dei file MDF
Detto questo, segui la nostra guida dettagliata per imparare come riparare un file di database SQL su un server SQL.
Come posso riparare un database danneggiato in SQL Server?
NOTA
Nota: Prima di iniziare qualsiasi cosa, eseguire un backup della libreria SQL.
1. Riavviare SQL Server
- Aprire un terminale e immettere il comando seguente per arrestare SQL Server:
systemctl mysql stop
- Per verificare lo stato di SQL Server, digitare il comando seguente e premere accedere:
stato mysql.service
- Ora riavvia SQL Server eseguendo il seguente comando nel terminale:
riavvia mysql.service
A volte, puoi risolvere il problema semplicemente riavviando SQL Server. Certo, non funziona ogni volta, ma è così facile da eseguire che non farebbe male da eseguire.
2. Ripara un tavolo danneggiato
- Avvia SQL Server.
- Digita il seguente comando e premi accedere per eseguirlo:
CONTROLLA TABELLA nome_della_tabella;
- Se rileva problemi con la tabella, digitare il comando seguente e premere accedere:
TABELLA DI RIPARAZIONE nome_della_tabella;
La TABELLA DI RIPARAZIONE ti aiuterà a riparare una tabella e puoi fare lo stesso per qualsiasi altra tabella danneggiata, ma in questo modo potresti perdere alcuni dati dalla tabella.
3. Usa il comando mysqlcheck
- Aprire un terminale e digitare o incollare il seguente comando per raggiungere la cartella del database e premere accedere:
cd /var/lib/mysql
- Ora, digita il seguente comando per testare una tabella e premi accedere. Assicurati di sostituire e con i nomi effettivi:
mysqlcheck
- Se ricevi il messaggio che la tabella è danneggiata, digita il seguente comando per ripararla e premi accedere:
mysqlcheck -r
4. Utilizzare i comandi ALTER TABLE
- Digita il seguente comando per verificare il tipo di tabella (nel nostro caso, è una tabella MyISAM):
MOSTRA CREA TAVOLA
;
- Per ricostruire la tabella, digitare il comando seguente e premere accedere:
ALTER TABELLA
MOTORE = MyISAM;
- Se hai un database InnoDB, digita invece il seguente comando:
ALTER TABELLA
MOTORE = InnoDB;
- Scarica e installa Microsoft SQL Server 2019
- Il miglior software di backup per server SQL [gratuito e a pagamento]
- Come proteggere un database di un server SQL
5. Riparare il database utilizzando Recovery Toolbox per SQL Server
-
Vai alla pagina dedicata di Recovery Toolbox per SQL Server e fare clic su Scaricamento pulsante.
- Installa l'app dopo aver scelto la lingua e accettato il contratto di licenza.
- Clic Fine per avviare lo strumento di riparazione MDF di SQL Server.
- Seleziona il danneggiato *.mdf file facendo clic sull'icona della cartella di origine.
- Dopo averlo selezionato, fai clic su Prossimo pulsante.
- Ora sarai in grado di visualizzare in anteprima i dati che possono essere recuperati dal database danneggiato di Microsoft SQL Server. Fare clic su Avanti nella finestra dello strumento di ripristino MDF di Microsoft SQL per avviare il processo.
- Ora devi solo scegliere il metodo di esportazione dei dati. Puoi salvarlo come Script SQL su disco e persino eseguire lo script SQL direttamente sul database.
- Infine, scegli quali dati salvare e fai clic Avvia il ripristino.
Quindi, questo è come riparare i file di database del server SQL con questo strumento semplice ed efficace. Come puoi vedere, farà il lavoro molto più velocemente.
Il Strumento di ripristino del server MS SQL ti aiuterà anche se stai affrontando i seguenti problemi con il database MDF:
- Errore 5172 di Microsoft SQL Server – La proprietà FILE SIZE non è corretta
- SQL Server ha rilevato un errore di I/O basato sulla coerenza logica – È un checksum errato, altrimenti noto come errore 824 in SQL Server
- La pagina Index Allocation Map (IAM) è indicata dal puntatore successivo di una pagina IAM – È un problema abbastanza comune
- Errore I/O, ID pagina errato, rilevato durante la lettura con offset 0x###### nel file NomeFile.mdf – Questo non sembra spesso ma puoi comunque ripararlo con questo piccolo strumento
- Il file sembra essere stato troncato dall'errore del sistema operativo – Molto probabilmente causato da un problema di configurazione
- Si è verificato un errore all'ID del record di registro – Si verifica durante la ripetizione di un'operazione registrata nel database
In realtà, con Recovery Toolbox per SQL Server ripara tutti gli oggetti dei file .mdf danneggiati, inclusi i tipi di dati, la tabella dati delle celle, viste, stored procedure, funzioni personalizzate, trigger, indici, chiavi primarie ed esterne, restrizioni e altri.
E il grande vantaggio è che puoi esportare i dati riparati direttamente in Microsoft SQL Server senza problemi dall'app.
Questo è! Ora sai come riparare il tuo database SQL Server manualmente o utilizzando uno strumento dedicato.
Se conosci metodi aggiuntivi o hai domande, li aspettiamo nella sezione commenti qui sotto.