Quando si lavora su un database SQL Server, è possibile che si riceva un avviso di errore 825 sul server. Il messaggio di errore è il seguente:
Msg 825, livello 10, stato 2, riga 1.
La lettura del file ‘%ls’ all’offset %#016I64x è riuscita dopo aver fallito per %d volte con l’errore: %ls. Ulteriori messaggi nel registro degli errori di SQL Server e nel registro degli eventi di sistema possono fornire maggiori dettagli. Questa condizione di errore minaccia l’integrità del database e deve essere corretta. Completate un controllo completo della consistenza del database (DBCC CHECKDB). Molti fattori possono causare questo errore; per ulteriori informazioni, consultare SQL Server Books Online.
Errore 825 di SQL Server – Cos’è e quali sono le cause?
L’errore SQL 825 è un errore di ripetizione della lettura (I/O) introdotto in SQL Server 2005. Si verifica quando un’operazione di lettura non riesce e SQL Server deve riprovare l’operazione finché non riesce. In sostanza, l’errore indica che SQL Server ha tentato un paio di tentativi (massimo 4) di leggere i dati prima di completarli.
Correggi l’errore 825 di SQL Server
Per risolvere il problema, seguire i passaggi indicati nella sequenza seguente:
Passo 1 – Diagnosticare l’errore SQL 825
Per diagnosticare l’errore SQL 825, è necessario trovare maggiori dettagli al riguardo. Controllare il registro degli errori di SQL Server o il registro degli eventi di sistema per trovare ulteriori informazioni sull’errore.
Fase 2 – Verifica dello stato di salute dell’hardware del disco
Controllare lo stato di salute del sistema di dischi, poiché il problema potrebbe essere legato a dispositivi di archiviazione come dischi, controller di dischi, driver di dischi o schede array.
Fase 3 – Contattare il produttore di hardware
Contattare il produttore del disco per verificare lo stato del sistema e richiedere gli ultimi aggiornamenti dei driver.
Passo 4 – Spostare il file del database SQL su una nuova unità fisica
Se il problema è dovuto all’hardware del disco, provare a spostare tutti i file del database SQL su una nuova unità fisica. A tale scopo, eseguire le seguenti operazioni:
- Aggiungere una nuova unità alla macchina (chiamarla E)
Nota: assicurarsi che la nuova unità disponga di spazio su disco sufficiente per archiviare i file del database SQL, proprio come l’unità attualmente in uso.
- Creare sulla nuova unità la stessa struttura di cartelle dell’unità contenente il file del database (unità D).
- Arrestare il servizio SQL.
- Spostare tutti i file dall’unità D all’unità E.
- Quindi, scambiare le lettere delle unità (D > Y, E > D, Y > E).
- Avviare nuovamente il servizio SQL.
Nota: Quando si riavvia il servizio SQL, è possibile che si verifichino errori di autorizzazione. In tal caso, assicurarsi di impostare le autorizzazioni di conseguenza.
E poi?
Le istruzioni di cui sopra vi aiuteranno a risolvere l’errore SQL 825. Tuttavia, come discusso in precedenza, l’errore SQL 825 minaccia l’integrità del database. È quindi necessario eseguire DBCC CHECKDB per verificare la consistenza logica e fisica delle pagine del db SQL, le relazioni degli indici, l’integrità referenziale delle tabelle di sistema e altri controlli strutturali.
Se DBCC CHECKDB segnala un danneggiamento del database SQL, è possibile ripristinare il database dall’ultima copia di backup nota. Ma se il backup non è disponibile o è danneggiato, DBCC offre diverse opzioni di riparazione per risolvere il danneggiamento del database SQL.
Leggete qui: Come riparare il database SQL utilizzando il comando DBCC CHECKDB
Tuttavia, l’uso di DBCC CHECKDB con il comando REPAIR_ALLOW_DATA_LOSS può causare la perdita di dati. Inoltre, potrebbe non riuscire a riparare i file di database gravemente danneggiati. In tal caso, utilizzare uno strumento di riparazione SQL specializzato come Stellar Repair for MS SQL per riparare e ripristinare il database mantenendo l’integrità dei dati.
Guardate il video per conoscere il processo di ripristino del database utilizzando lo strumento Stellar Repair for MS SQL.
Conclusione
L’errore I/O 825 di SQL Server indica che l’operazione di lettura non è stata completata al primo tentativo e che è stato necessario ripetere l’operazione. L’errore si verifica a causa di problemi con l’hardware del disco e può essere risolto controllando la salute del disco ed eseguendo gli ultimi aggiornamenti dei driver. Se il disco è difettoso, provare a spostare tutti i file del database su una nuova unità fisica.
Se l’errore 825 ha causato la corruzione del database SQL, eseguire DBCC CHECKDB e verificare se riporta errori di corruzione. In caso affermativo, provare a ripristinare il db dalla copia di backup. Se il backup non è disponibile, è necessario riparare il db utilizzando le opzioni di riparazione di DBCC CHECKDB. Un’alternativa migliore è utilizzare il software Stellar Repair for MS SQL per riparare il database danneggiato.
Was this article helpful?