Come risolvere l'errore 3183 dovuto a un file di backup SQL danneggiato?


L'errore 3183 di SQL Server è legato alla corruzione del database, in particolare ad una pagina corrotta. In questo articolo, imparerà perché si verifica questo errore e come risolverlo. Citeremo anche uno strumento di riparazione del database SQL che le permette di riparare e ripristinare facilmente i file di backup del database SQL Server danneggiati per risolvere l'errore.

L'errore 3183 può verificarsi quando si ripristina il database di SQL Server da un backup. Di solito si verifica se la convalida di una pagina fallisce durante il ripristino del backup del database con l'opzione CHECKSUM. Il processo di ripristino viene quindi annullato. Potrebbe ricevere un messaggio di errore simile a questo:

 Msg 3183, Livello 16, Stato 1, Riga 1
RESTORE ha
rilevato
un errore nella pagina (10:10) del database "stellardb" durante la lettura del set di backup.codice di copia

Nel messaggio qui sopra, 3183 è l'ID dell'errore. Il livello 16 significa che si tratta di un errore fatale e lo stato 1 significa che l'errore si è verificato durante la lettura della pagina. La riga 1 è la riga in cui si è verificato l'errore.

Perché si verifica l'errore 3183 in SQL Server?

La causa più probabile di questo errore è che una pagina del database SQL Server sia danneggiata. Questo può avere varie cause, ad esempio errori hardware, problemi software, problemi con il sistema operativo, ecc. Ad esempio, se i settori del disco sono danneggiati, anche le pagine saranno danneggiate. Anche un'interruzione di corrente può danneggiare l'hardware e quindi corrompere le pagine del database SQL Server. Se il sistema operativo si guasta, anche questo può danneggiare le pagine del database. Anche i virus e i malware possono compromettere il backup del database.

Soluzioni per risolvere l'errore 3183 in SQL Server

Può seguire le soluzioni seguenti per risolvere l'errore 3183 di SQL Server e ripristinare il database.

Tuttavia, prima verifichi se il backup del database è danneggiato. Per farlo, può utilizzare il comando RESTORE in T-SQL con l'opzione VERIFYONLY (veda l'esempio seguente).

 RIPRISTINO VERIFICO DA DISCHETTO = 'C:\Path\To\yourBackup.bak';Copiare il codice

Può utilizzare questo comando per verificare l'integrità del file di backup.

Soluzione 1: Utilizzi l'opzione CONTINUA_ DOPO_ERRORE

Può provare a ripristinare il database con l'opzione CONTINUA_ DOPO_ERRORE. Questa opzione ripristina il database, ma alcuni dati potrebbero andare persi. Questa opzione tenta di ignorare gli errori e di continuare il ripristino del database.

L'esempio seguente mostra come ripristinare il database utilizzando l'opzione CONTINUA_ DOPO_ERRORE.

 RIPRISTINO DEL DATABASE [stellar]DA DISCHETTO = N'e:\Backup\stellar.bak'
CON FILE = 2,
NOUNLOAD,
STATS = 5, CONTINUE_AFTER_ERROR;Codice copia

Dopo il ripristino, può verificare lo stato del database eseguendo il comando DBCC CHECKDB (vedere l'esempio seguente).

 DBCC CHECKDB('stellar') WITH NO_INFOMSGS;Copia il codice

Soluzione 2: utilizzare un software specializzato per riparare i backup del database SQL

Se il comando RESTORE DATABASE con l'opzione CONTINUE_AFTER_ERROR fallisce o per evitare la perdita di dati, può utilizzare un software di terze parti per la riparazione del database SQL per riparare il file di backup corrotto. Stellar Repair for MS SQL - Technician è uno di questi software di terze parti che può riparare e ripristinare i file di backup del database corrotti di qualsiasi versione di SQL Server. Deve solo selezionare il file di backup e il software lo riparerà. Vediamo come funziona questo software.

Per prima cosa, installi il software Stellar Repair for MS SQL - Technician.

Poi avvia il software e seleziona l'opzione Estrai da MS SQL Backup.

image001-1

Se sa dove si trova il suo file di backup, clicchi sul pulsante Sfoglia e selezioni il file .bak. Se non sa dove si trova, può utilizzare il pulsante Cerca per individuare il file di backup.

image002-2

Una volta selezionato il file di backup, prema il pulsante Scansione.

image003

Vedrà due opzioni di scansione:

  • La scansione standard è l'opzione predefinita e quella consigliata.
  • La scansione avanzata, che è più lenta ma viene utilizzata se la scansione standard fallisce.

image004

Selezioni il backup e prema Avanti.

image005

Nella finestra di anteprima può vedere tutti gli oggetti del database.

image006

Prema l'icona Salva.

image007

Può salvare i dati in un nuovo database, in un database attivo o in altri formati come Excel, CSV o HTML.

image008

Come si può evitare l'errore 3183?

Ecco alcune best practice per aiutarla a evitare l'errore 3183 in SQL Server.

  • Si assicuri di installare un software antivirus e anti-malware.
  • Utilizzi sempre un UPS per evitare interruzioni di corrente.
  • Verifichi regolarmente i suoi backup.
  • Archivi i suoi backup nel cloud o almeno in un altro luogo fisico.
  • Monitorare lo stato del suo hardware.
  • Monitorare lo stato del suo database.

Conclusione

L'errore 3183 di SQL Server si verifica solitamente a causa di pagine corrotte. Può seguire le soluzioni di cui sopra per risolvere questo errore di SQL Server che si verifica durante il ripristino di un backup del database. Può provare a ripristinare il backup danneggiato utilizzando l'opzione CONTINUA_AFTER_ERROR. Se l'opzione CONTINUA_AFTER_ERROR fallisce, può utilizzare Stellar Repair for MS SQL. Questo software ripara il backup danneggiato e ripristina tutti i dati.



Was this article helpful?
L'autore
author image
Himanshu Shakya

Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

Indice dei contenuti

PERCHÉ STELLAR® È LEADER MONDIALE

Perché scegliere Stellar?
  • 0M+

    CLIENTI

  • 0+

    Anni di eccellenza

  • 0+

    INGEGNERI R&S

  • 0+

    PAESI

  • 0+

    PARTNER

  • 0+

    PREMI RICEVUTI