Sommario
    Recupero del database di Access

    Come riparare il database di SQL Server in modalità di recupero?


    Sommario

      Riassunto: Questo blog illustra le cause comuni del problema "database di SQL Server bloccato in modalità di ripristino". Inoltre, descrive come risolvere il problema. Se il processo di recupero non riesce a portare il database online, provate a utilizzare uno strumento di recupero SQL per riottenere l'accesso al database, senza tempi di inattività prolungati.

      Quando si riavvia SQL Server o i servizi dopo l’arresto del database SQL, l’arresto del server o il danneggiamento del database, il database passa automaticamente allo stato di “recupero“. Il database diventa online dopo il completamento del processo di recupero. Tuttavia, se il database impiega troppo tempo a ripristinarsi, è importante sapere perché il database è bloccato nel recupero.

      Cosa causa il blocco del database di SQL Server in modalità di recupero?

      È possibile controllare il registro degli errori di SQL Server per conoscere la causa del problema del database bloccato in modalità RECOVERY. Le cause più comuni del problema sono:

      • È possibile che si stia ripristinando il database da backup completi, differenziali e di registro con l’opzione NORECOVERY attivata, ma che RECOVERY non sia stato specificato durante l’ultimo ripristino.
      • Secondo MSDN, il registro delle transazioni può riempirsi quando un database è in fase di recupero. SQL Server interrompe tutte le transazioni in esecuzione fino a quando non viene liberata la memoria del registro, rallentando il recupero del database. Anche la presenza di più file di registro virtuali (VLF) in un registro delle transazioni può rallentare il processo di recupero.
      • Il processo di recupero potrebbe interrompersi se il database è danneggiato o presenta qualche tipo di corruzione.

      Risoluzione del problema “Database SQL Server in modalità di recupero”.

      Di seguito sono riportati alcuni semplici suggerimenti per risolvere il problema del database di SQL Server in modalità di recupero:

      Suggerimento 1 – Ripristino del database con RECOVERY

      Nota: l’esecuzione di “Ripristino con ripristino” farà ripetere al database le stesse fasi di ripristino. Evitate questa opzione se avete un database di grandi dimensioni.

      Eseguire la seguente query per riportare il database online:

      RESTORE DATABASE db_name CON RECUPERO;

      La query eseguirà il rollback di tutte le transazioni non impegnate e farà uscire il database dalla modalità di recupero.

      Suggerimento 2 – Applicare le correzioni Microsoft

      Se il numero di VLF all’interno del registro delle transazioni è eccessivo e il ripristino del database è lento, l’applicazione delle correzioni Microsoft può essere d’aiuto.

      Suggerimento 3 – Eseguire DBCC CHECKDB per determinare la corruzione del database

      Eseguite DBCC CHECKDB sul database problematico. Se vengono segnalati errori di coerenza, è necessario riparare il database utilizzando l’opzione di riparazione di livello minimo. Per ulteriori informazioni, leggete qui: Per saperne di più

      Se questi suggerimenti per la risoluzione dei problemi non funzionano, provare a risolvere il problema utilizzando le soluzioni descritte nella sezione successiva.

      Soluzioni per risolvere il problema del database SQL Server in modalità di recupero

      Di seguito sono riportate due soluzioni per risolvere il problema:

      Soluzione 1 – Ripristinare il database dal backup più recente

      Nota: passare alla soluzione successiva se il backup è obsoleto o corrotto.

      Se il processo di ripristino del database sembra bloccato da tempo, provate a ripristinare il database da una copia di backup aggiornata. Per farlo, seguite questi passaggi:

      • Aprite SQL Server Management Studio (SSMS), fate clic con il pulsante destro del mouse su Database e fate clic su Ripristina database.
      Ripristina database
      Ripristina database
      • Nella sezione Sorgente, selezionare l’opzione Dispositivo e fare clic sul pulsante accanto.
      Dispositivo
      Dispositivo
      • Nella finestra di dialogo che si apre, premere Aggiungi.
      Aggiungi
      Aggiungi
      • Individuare e selezionare il file di backup (.bak) che si desidera ripristinare, quindi premere OK.
      Individuare e selezionare il file di backup
      Individuare e selezionare il file di backup
      • Fare nuovamente clic su OK.
      Fare nuovamente clic su OK.
      Fare nuovamente clic su OK.
      • Nella schermata Ripristina database, inserire il nome del database che si desidera ripristinare e fare clic su OK.
      Ripristina database
      Ripristina database
      • Il database verrà ripristinato.
      Il database verrà ripristinato
      Il database verrà ripristinato

      Nota: Il ripristino di un database di grandi dimensioni contenente più tabelle può richiedere molto tempo.

      Soluzione 2 – Utilizzare uno strumento professionale per il recupero dei database SQL

      Se il backup non è disponibile o se si desidera ripristinare rapidamente il database, l’uso di uno strumento di recupero SQL, come Stellar Repair for MS SQL, può essere utile. Il software ripara i file .mdf/.ndf e ripristina il database nella sua forma originale.

      Guardate questo video per capire come funziona il software:

      Conclusione

      In questo articolo abbiamo discusso del fatto che il database SQL è bloccato nello stato di ‘Recupero’. Ha anche delineato le cause comuni del problema del database SQL Server in modalità di recupero e i suggerimenti per la risoluzione dei problemi. Se questi suggerimenti non dovessero essere utili, l’implementazione delle soluzioni può aiutare a riportare il database in uno stato coerente. Uno strumento di recupero del database SQL può essere utile quando tutto il resto non riesce a ripristinare il database.

      Was this article helpful?

      No NO

      Circa l'autore

      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.

      Leave a comment

      Your email address will not be published. Required fields are marked *

      Image Captcha
      Refresh Image Captcha

      Enter Captcha Here :

      Post correlato

      PERCHÉ STELLAR® È LEADER MONDIALE

      Perché scegliere Stellar?

      • 0M+

        Clienti

      • 0+

        Anni di eccellenza

      • 0+

        Ingegneri R&S

      • 0+

        Paesi

      • 0+

        PARTNER

      • 0+

        Premi ricevuti