Summary: Quando esegue il comando DBCC CHECKDB per riparare un database corrotto, potrebbe ricevere il messaggio di errore 8930. In questo articolo, imparerà come risolvere il messaggio di errore 8930 in SQL Server. Conoscerà anche un software avanzato di riparazione di database SQL che potrà utilizzare per riparare facilmente sia i database corrotti che i file di backup.
MS SQL Server fornisce i comandi DBCC CHECKDB per controllare e riparare i database danneggiati. Tuttavia, quando si esegue questo comando per riparare il database, a volte fallisce e visualizza un messaggio di errore. Il messaggio di errore può essere simile a questo:
Msg 8930, livello 16, stato 1, riga 1 Errore del database: Il database 1 ha metadati incoerenti. Questo errore non può essere corretto e impedisce un’ulteriore elaborazione DBCC. Si prega di ripristinare da un backup.
Il messaggio di errore indica che un danno ai metadati ha causato il fallimento del comando DBCC. I metadati contengono i cataloghi e le informazioni sulle tabelle. Memorizzano informazioni sulla struttura e sugli oggetti del database. Ad esempio, le tabelle di sistema contengono informazioni sulle tabelle utente e la tabella di visualizzazione sys.objects contiene informazioni su tabelle, stored procedure, viste e altri oggetti.
Questo errore può verificarsi per vari motivi, ad esempio a causa di un danno hardware, un errore software, ecc. Vediamo come risolvere questo errore e ripristinare i dati da un database danneggiato.
Come posso risolvere l’errore MS SQL 8930?
Se i metadati sono danneggiati, non sarà in grado di lavorare con il database. Purtroppo, non è possibile riparare il database con il comando DBCC se si verifica questo problema. Deve quindi ripristinare i dati dal backup.
Il backup è un file che contiene una copia dei dati e include anche i metadati dei database di SQL Server. Può ripristinare il suo database fino alla data del backup. Se dispone di un registro delle transazioni, può ripristinare i dati inserendo la data e l’ora.
Per ripristinare il database dal backup, segua i passi indicati:
- Apra SQL Server Management Studio (SSMS).
- Si colleghi all’istanza di SQL Server.
- In Esplora Oggetti, faccia clic con il pulsante destro del mouse sull’opzione Database e selezioni l’opzione Ripristina database.
- Selezioni l’opzione Dispositivo e poi clicchi sulle ellissi (…) per trovare il file di backup.
- Clicchi su Aggiungi e sfogli la posizione in cui si trova il suo file di backup (.bak).
- Selezioni il file e poi clicchi su OK.
- Clicchi nuovamente su OK per chiudere la finestra Seleziona dispositivi di backup.
- Clicchi su OK per ripristinare il backup del database.
In alternativa, può anche utilizzare il seguente comando Transact-SQL per ripristinare il backup del database:
UTILIZZARE [master];
GO
RIPRISTINO DEL DATABASE [StellarDB]
DA DISK = N’C:\Programmi\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\StellarDB.bak’ CON FILE = 1, NOUNLOAD, STATS = 5;
GO
Cosa succede se il backup non è disponibile?
Se la copia di backup è corrotta o non disponibile, l’unica opzione è riparare il database o il file di backup corrotto utilizzando un software di riparazione di database SQL di terze parti, come Stellar Repair for MS SQL – Technician. Questo software può facilmente riparare il file di backup del database SQL Server corrotto e ripristinare tutti gli oggetti con la massima integrità.
Per riparare il file di backup del database SQL con il software, proceda come segue:
- Apra il software e selezioni l’opzione Estrai dal backup MSSQL.
- Clicchi sull’icona Seleziona backup.
- Vengono visualizzate due opzioni: Cerca e Sfoglia. Può utilizzare l’opzione Cerca per cercare il file di backup, se non conosce la posizione del file. Altrimenti, può cliccare sul pulsante Sfoglia e selezionare il file di backup.
- Una volta selezionato il file di backup, prema il pulsante Scansione.
- Selezionare la modalità di scansione Standard.
- Selezioni i dati che desidera ripristinare e prema Avanti. Se desidera ripristinare solo alcune tabelle, può selezionare singole tabelle.
- Poi clicchi sul pulsante Salva.
- Può salvare i dati in,
- Nuovo database
- Database live (un database esistente)
- Altri formati, come Excel, CSV, ecc. (per salvare i dati di determinate tabelle)
Conclusione
L’errore 8930 si verifica quando si cerca di riparare un database corrotto utilizzando il comando DBCC CHECKDB in SQL Server. Questo accade quando i metadati sono corrotti o danneggiati. In questo caso, non è possibile riparare il database con il comando DBCC CHECKDB. Quindi l’unica opzione è ripristinare il database da un backup recente e sano. Tuttavia, se il backup non è disponibile o è corrotto, può utilizzare Stellar Repair for MS SQL per riparare il database corrotto o il backup stesso.