La soluzione completa per affrontare le complessità del mondo IT

Incoerenza logica nel database SQL Server

KB52219

Ultimo aggiornamento: 13 September 2019

SQL Server detected a logical consistency-based I/O error: incorrect checksum

9.5

Il primo step da eseguire in casi del genere è il ripristino da un backup recente, dopo aver verificato che non ci siano errori su disco logico – eseguendo il comando 

chkdsk /F

– e sul supporto fisico di archiviazione (in caso di VM, verificare che lo storage sottostante non riporti errori).

Se il ripristino dal backup non è possibile, seguire i seguenti step:

NOTA: Questa è una procedura di emergenza per recuperare un database in stato di incoerenza logica. I comandi segnalati potrebbero generare perdita di dati, quindi si consiglia di eseguirli solo in caso di indisponibilità di un backup valido recente. Si consiglia di informare il supporto Achab della problematica prima di seguire la procedura.

0. Se possibile eseguire uno snapshot dei server coinvolti (application server e database server).
1. Aprire SQL Server Management Studio sul database server
2. Creare una nuova query
3. Eseguire il comando:
DBCC CHECKDB (Ksubscribers) WITH NO_INFOMSGS, ALL_ERRORMSGS
Nell'output verboso del comando verranno elencate le tabelle che presentano incoerenza.
4. Porre il database in Single User Mode;
5. Creare una nuova query:
6. Eseguire, su ognuna delle tabelle isolate al punto 2, il comando:
DBCC CHECKTABLE('< Nome Tabella >', REPAIR_ALLOW_DATA_LOSS)
diverse volte fino a ottenere un output senza errori.
7. Porre il database in Multi User Mode.
8. Eseguire Reinstall Database Schema dal menu Avvio o se non sufficiente rieseguire l'installer selezionando l'opzione 'Reinstall'.

New call-to-action