Summary: Questo blog descrive come risolvere l'errore 824 del database Microsoft SQL manualmente o con l'aiuto di un software specializzato nella riparazione del database SQL. Tratta anche le possibili cause dell'errore 824.
Errore del database SQL 824: Messaggio e descrizione dell’errore
Messaggio di errore:
Msg 824, livello 24, stato 2, riga 1.
Descrizione:
L’errore 824 del database SQL è un errore logico di input/output (I/O). Un I/O logico significa che la pagina è stata letta con successo dal disco rigido. Tuttavia, c’è un errore nella pagina stessa. Inoltre, un ‘errore di coerenza logica’ indica chiaramente un danno dovuto alla corruzione del database, laddove la corruzione è dovuta a un componente difettoso del sottosistema I/O.
L’errore 824 di SQL Server contiene diverse informazioni, che sono le seguenti:
- Il database a cui appartiene il file del database.
- Il file del database rispetto al quale viene eseguita l’operazione di I/O.
- L’offset del file del database in cui è stata tentata l’operazione I/O.
- Il numero di pagina associato all’operazione di I/O.
- Informazioni sul fatto che l’operazione sia stata ‘Lettura’ o ‘Scrittura’.
- Dettagli del controllo di coerenza logica fallito. (I dettagli sono: Tipo di controllo, valore effettivo e valore atteso utilizzato per questo controllo).
Nota – Se riscontra questo errore 824 del database SQL durante l’attivazione di una query o la modifica dei dati, l’applicazione restituirà il messaggio di errore e la connessione al database sarà terminata.
Qual è la causa dell’errore 824 del database SQL?
Microsoft SQL Server utilizza le API di Windows, come ReadFile, WriteFile, ReadFileScatter e WriteFileGather, per eseguire operazioni di I/O. Dopo l’esecuzione di queste operazioni di I/O, il server verifica la presenza di errori in relazione a queste chiamate API. Se le chiamate API qui menzionate falliscono con un errore del sistema operativo, SQL Server segnalerà l’errore 823. Ci sono circostanze in cui la ‘chiamata API di Windows’ ha successo, ma i dati spostati dall’operazione di I/O hanno riscontrato problemi di coerenza logica. Questi problemi vengono segnalati tramite l’errore 824 di SQL Server.
Di seguito troverà altri motivi che sono responsabili dell’errore 824 di SQL Server:
- Problemi con il sistema di archiviazione sottostante
- Problema di hardware o di driver nel percorso I/O
- File MDF o NDF del database SQL Server corrotto o danneggiato
- Inconsistenze nel file system SQL
Risoluzione dei problemi relativi all’errore 824 del database SQL
Può provare a risolvere l’errore 824 del database SQL con l’aiuto di :
- Approccio manuale
- Approccio software
Approccio manuale
- Controlli la tabella suspect_pages in msdb per vedere se questo errore si verifica anche con altre pagine nello stesso database o in altri database.
- Utilizzi il comando integrato DBCC CHECKDB per verificare l’affidabilità dei database situati sullo stesso volume (come quello specificato nel messaggio 824). Se rileva delle incongruenze quando utilizza questo comando, corregga gli errori di coerenza del database segnalati.
- Se l’opzione del database PAGE_VERIFY CHECKSUM non è attivata nel database, deve farlo al più presto.
Nota: l’errore SQL 824 può verificarsi anche per motivi diversi da un errore di checksum. Tuttavia, CHECKSUM le offre la possibilità di verificare la consistenza di una pagina dopo che è stata scritta sul disco rigido.
- Utilizzi SQLIOSim per verificare se l’errore SQL 824 può essere replicato al di fuori delle normali query di I/O in SQL Server.
Nota – SQL Server 2008 viene fornito con questa utility. Per le altre versioni di SQL, deve scaricarla dal sito ufficiale.
- Si rivolga al fornitore di hardware o al produttore del dispositivo per verificare quanto segue:
- I ‘driver dei dispositivi’ e altri ‘componenti software di supporto’ di tutti i dispositivi nel percorso I/O vengono aggiornati e sono efficienti.
- I dispositivi hardware e la configurazione corrispondono ai requisiti di I/O di SQL Server.
- Se il produttore dell’hardware o del dispositivo le ha fornito dei programmi di diagnostica, dovrebbe utilizzarli per determinare se il sistema I/O è funzionale o meno.
- Verifichi se ci sono ‘driver di filtro’ nel percorso delle richieste di I/O in cui si verificano i problemi. A tal fine, verifichi quanto segue:
- Quando c’è un aggiornamento per questi ‘driver di filtro’.
- È possibile disattivare o rimuovere questi ‘driver di filtro’ per vedere se il problema che causa l’errore SQL 824 viene risolto?
Può utilizzare queste soluzioni per correggere l’errore SQL 824. Tuttavia, ci sono anche alcuni svantaggi associati a questi metodi. Essendo tutti eseguiti manualmente, sono noiosi e richiedono molto tempo. Inoltre, comportano il rischio di perdita di dati e di fallimento a causa della mancanza di conoscenze tecniche.
Approccio software
Un’altra alternativa per risolvere l’errore 824 di SQL Server è utilizzare il software di riparazione del database SQL, che aiuta a riparare il database per risolvere gli errori SQL riducendo l’intervento umano.
Raccomandato dagli MVP e dai DBA di Microsoft, Stellar Repair for MS SQL è un software su cui può contare per risolvere quasi tutti i problemi che può incontrare quando lavora con i database di SQL Server. Il software è progettato per riparare con successo i file di database SQL corrotti (MDF) e offre anche le seguenti funzioni:
- Ripristina oggetti come tabelle, trigger, chiavi, regole, indici, valori predefiniti e altri oggetti del database.
- Ripristina i ‘record di dati della tabella cancellati’ dal server SQL.
- Consente il recupero selettivo dei dati degli oggetti del database
- Fornisce un’anteprima degli oggetti del database prima che vengano salvati.
- Consente di salvare il file riparato nei formati MS SQL (MDF), XLS, HTML e CSV.
- Gli utenti possono salvare il database SQL come database nuovo o live con l’opzione MDF.
- Supporta SQL Server 2019, 2017, 2016, 2014, 2012, 2008 e tutte le edizioni precedenti.
Nota finale
Poiché questo blog suggerisce una serie di metodi manuali e anche un modo automatizzato per risolvere l’errore 824 nel database SQL, può utilizzare uno qualsiasi di essi. Tuttavia, per ottenere risultati rapidi e di successo, dovrebbe optare per Stellar Repair for MS SQL – un software esterno ma orientato ai risultati!