Potrebbe essere necessario eseguire un’operazione di riparazione del database SQL nei seguenti scenari:
- Riparare un database contrassegnato come sospetto o bloccato in attesa di recupero, impedendo l’accesso ai file del database.
- Riparare un database danneggiato a causa di eventi quali crash del server, guasti al sottosistema I/O, bug del software, intrusione di virus/malware, ecc.
- Se si ricevono errori SQL come 824, 8992, 5172, ecc.
- Se il file di registro è danneggiato e il db è inaccessibile.
Leggete anche: Corruzione del database di produzione di SQL Server – Cause e soluzioni
Normalmente qualsiasi amministratore di database o utente di SQL dispone di una strategia di backup e ripristino. Tuttavia, è possibile ripristinare un database SQL da un backup solo se è sano. Inoltre, è necessario ripristinare il backup più recente per evitare la perdita di dati. Ma se il backup è danneggiato o non è aggiornato, è necessario ripararlo.
Ora analizziamo in dettaglio come riparare il database di SQL Server 2016 passo dopo passo.
Riparazione del database SQL Server passo dopo passo
Passi per riparare il database SQL tramite SSMS
È possibile riparare un database utilizzando il comando DBCC CHECKDB con ‘REPAIR_ALLOW_DATA_LOSS’ eseguendo i seguenti passaggi in SQL Server Management Studio (SSMS):
Passo 1: Avviare SSMS. Connettersi all’istanza di SQL Server 2016 utilizzando l’autenticazione di Windows o l’autenticazione di SQL Server.
Fase 2: Fare clic sulla scheda Nuova query della barra degli strumenti. Nella finestra di query che si apre, copiare e incollare i seguenti comandi nella stessa sequenza indicata di seguito:
EXEC sp_resetstatus [Nome_DB]
ALTER DATABASE [DB_Name] SET EMERGENZA
DBCC CHECKDB [Nome_db]
ALTER DATABASE [DB_Name] SET SINGLE_USER CON ROLLBACK IMMEDIATO
DBCC CHECKDB ('DB_Name', REPAIR_ALLOW_DATA_LOSS) CON NO_INFOMSGS
ALTER DATABASE [Nome database] SET MULTI_USER
Nota: L’esecuzione del comando REPAIR_ALLOW_DATA_LOSS può causare la perdita di dati. Se DBCC CHECKDB non funziona o per evitare la perdita di dati, può essere utile utilizzare uno strumento di riparazione SQL.
Fase 3: premere il pulsante “Esegui” per avviare la riparazione del database. Il
database verrà riparato e si aprirà senza errori.
Passi per riparare il database SQL usando Stellar Repair for MS SQL
Uno strumento di riparazione SQL avanzato raccomandato da MVP e DBA, Stellar Repair for MS SQL aiuta a riparare i file di database gravemente danneggiati (MDF/NDF) in pochi semplici passaggi. Inoltre, aiuta a recuperare tutti gli oggetti del database insieme ai record eliminati.
Come riparare il database di SQL Server 2016 utilizzando il software SQL Recovery
Fase 1: Avviare il software. Leggere le istruzioni visualizzate nella finestra dell’interfaccia principale del software, quindi fare clic su OK.
Fase 2: nella schermata “Seleziona database”, sfogliare e selezionare il file primario del database (.mdf) che si desidera riparare. In alternativa, fare clic su Cerca per individuare un file MDF se la sua posizione è sconosciuta.
Nota: se si desidera recuperare i record eliminati, assicurarsi che la casella di controllo “Includi record eliminati” sia selezionata.
Fase 3: Dopo aver selezionato un file MDF, fare clic su Ripara per avviare il processo di riparazione.
Passo 4: Scegliere una modalità di scansione appropriata per riparare il file MDF. Selezionando l’opzione di scansione Standard, il file viene scansionato rapidamente alla ricerca di errori di corruzione. Per eseguire una scansione completa del file, è possibile selezionare la Scansione avanzata. Fare clic su OK per procedere.
Fase 5: fare clic sul pulsante OK una volta visualizzato il messaggio “Riparazione completata”.
Fase 6: Anteprima di tutti i dati del file riparato. Successivamente, selezionare tutti gli oggetti o quelli specifici che si desidera salvare facendo clic sul pulsante Salva sotto File.
Fase 7: Il software fornisce diverse opzioni per salvare il database riparato:
- Scegliere il formato di file (MDF/CSV/HTML/XLS) in cui si desidera salvare il file riparato.
- Selezionando il formato di salvataggio del file MDF, si può scegliere di salvare il database come New o Live db. Inoltre, inserite i dettagli per connettervi all’istanza di SQL Server.
- Specificare la posizione in cui si desidera salvare il db riparato.
Passo 8: fare clic su Salva. Una volta completato con successo il processo di salvataggio dei file, apparirà la seguente schermata.
Il database riparato verrà salvato con lo stesso nome ma con il prefisso “Repaired” nella posizione specificata.
Conclusione
In questo articolo abbiamo parlato dei casi più comuni che possono richiedere la riparazione di un database SQL. Prima di eseguire un’operazione di riparazione, è necessario provare a ripristinare un backup aggiornato. Ma se il backup è danneggiato o obsoleto, eseguite i passaggi discussi nell’articolo per risolvere il problema. È possibile eseguire DBCC CHECKDB con l’opzione di riparazione consigliata, solitamente REPAIR_ALLOW_DATA_LOSS, per eseguire il processo di riparazione. Tuttavia, ciò comporta il rischio di perdita di dati. In alternativa, utilizzare Stellar Repair for MS SQL per risolvere gli errori di corruzione più comuni che potrebbero impedire l’accesso al database.
Was this article helpful?