Sommario
    SQL Database Ripara

    Come recuperare il database MS SQL dalla modalità sospetta?


    Sommario

      Riassunto: Leggete questo post per trovare le soluzioni per recuperare il database MS SQL contrassegnato come sospetto. Descrive le istruzioni passo-passo per risolvere il problema del "database sospetto del server SQL" eseguendo i comandi Transact-SQL (T-SQL) in SQL Server Management Studio (SSMS). Inoltre, fornisce una soluzione alternativa per ripristinare il database utilizzando uno strumento di recupero SQL.

      Quando il database SQL passa in modalità sospetta, diventa inaccessibile. In questa situazione, non sarà possibile connettersi al database né recuperarlo durante l’avvio del server.

      Database in modalità Sospetto
      Figura 1: Database in modalità Sospetto

      Consultate l’infografica qui sotto per scoprire le soluzioni rapide per recuperare il database dalla modalità sospetta in SQL Server 2008 e versioni successive.

      Quando il database SQL passa in modalità sospetta?

      Quando SQL server sospetta che il gruppo di file primario del database sia danneggiato o che il file del database sia mancante, lo stato del database viene impostato su “Sospetto”.

      Inoltre, esiste un’ampia gamma di errori che possono portare il database SQL in modalità sospetta. Alcuni di essi sono elencati di seguito:

      • Il sistema non riesce ad aprire il dispositivo in cui risiede il file di dati o di registro del server SQL.
      • Il server SQL si blocca o si riavvia nel bel mezzo di una transazione, causando un file di log delle transazioni corrotto o inaccessibile.
      • SQL Server tenta di aprire un database e il file appartenente a tale database è già aperto dal software antivirus installato sul sistema.
      • Il database è stato chiuso in modo anomalo.
      • Mancanza di spazio su disco.
      • SQL non può completare un’operazione di rollback o roll forward.
      • I file di database sono trattenuti dal sistema operativo, dal software di backup di terze parti, ecc.

      Come si fa a far uscire il database SQL dalla modalità sospetta?

      NOTA: È possibile provare a ripristinare il database in modalità sospetta da un buon backup noto. Se il backup non è disponibile, procedere con i passaggi seguenti.

      Seguite i passaggi in sequenza indicati di seguito per recuperare il database MS SQL dalla modalità sospetta:

      Passo 1: aprire SSMS e collegarsi al database.

      Collegamento al database
      Figura 2: Collegamento al database

      Fase 2: Selezionare l’opzione Nuova query.

      Figura 3: Selezionare una nuova query
      Figura 3: Selezionare una nuova query

      Fase 3: nella finestra Query editor, inserire il seguente codice per disattivare il flag di sospetto sul database e impostarlo su EMERGENZA:

      EXEC sp_resetstatus ‘db_name’;

      ALTER DATABASE db_name SET EMERGENZA

      Impostazione del database in modalità di emergenza
      Figura 4: Impostazione del database in modalità di emergenza

      NOTA: Se non è possibile impostare il database in modalità di emergenza, passare alla soluzione successiva.

      Fase 4: Un database sospetto potrebbe non essere danneggiato. È possibile determinare se il database è danneggiato o meno eseguendo il seguente comando DBCC CHECKDB.

      DBCC CHECKDB (‘nome_database’)

      Questa dichiarazione segnala eventuali errori di coerenza (se riscontrati) nel database e consiglia l’esecuzione dell’opzione di riparazione di livello minimo per risolvere la corruzione.

      Prima di avviare il processo di riparazione, è necessario impostare il database in “modalità utente singolo”. In questo modo si impedisce ad altri utenti di apportare modifiche al database durante il processo di riparazione.

      Figura 5: Verifica della consistenza del database
      Figura 5: Verifica della consistenza del database

      Passo 5: ora portiamo il database in modalità utente singolo e annulliamo le transazioni precedenti eseguendo il comando seguente:

      ALTER DATABASE nome_database SET SINGLE_USER CON ROLLBACK IMMEDIATO

      Figura 6: Impostazione del database in modalità utente singolo
      Figura 6: Impostazione del database in modalità utente singolo

      Fase 6: Eseguire un backup completo dei file danneggiati per evitare la perdita di dati.

      Fase 7: Dopo aver messo il db in modalità UTENTE SINGOLO, provare a correggere gli errori di coerenza usando l’opzione REPAIR_REBUILD di DBCC CHECKDB. Questa opzione può riparare rapidamente le righe mancanti negli indici non raggruppati. Inoltre, può essere utilizzata per operazioni di riparazione più lunghe, come la ricostruzione di un indice.

      DBCC CHECKDB (‘nome_database’, REPAIR_REBUILD)

      Tuttavia, se viene suggerito REPAIR_ALLOW_DATA_LOSS come livello minimo di riparazione, eseguire DBCC CHECKDB con l’opzione di riparazione suggerita. La sintassi è la seguente:

      DBCC CHECKDB (‘nome_database’, REPAIR_ALLOW_DATA_LOSS)

      Riparazione del database con DBCC CHECKDB
      Figura 7: Riparazione del database con DBCC CHECKDB

      Fase 8: Portare il database in modalità multiutente:

      ALTER DATABASE nome_database SET MULTI_USER

      Impostazione del database in modalità multiutente
      Figura 8: Impostazione del database in modalità multiutente

      ALTER DATABASE nome_database SET MULTI_USER

      Fase 9: Aggiornare il server di database.

      Dopo aver completato questi passaggi, dovreste essere in grado di connettervi al database. In caso di perdita di dati, avrete il backup del database da cui ripristinare (passaggio 6).

      E se questa soluzione non funziona?

      Se il file di database del server è gravemente danneggiato, i passaggi sopra descritti potrebbero non riuscire a ripristinare il database. A questo punto, provare a ripristinare il database utilizzando Stellar Repair for MS SQL.

      Il software è in grado di risolvere i comuni errori di corruzione del database SQL che si verificano a causa di motivi quali il database in modalità sospetta e molti altri. Il software utilizza algoritmi avanzati per riparare e ripristinare il database SQL dalla modalità sospetta allo stato normale (online).

      Come recuperare il database SQL dalla modalità sospetta con lo strumento Stellar SQL Recovery?

      NOTA: assicurarsi di chiudere l’istanza del server prima di eseguire il software Stellar Repair for MS SQL.

      Passo 1: Scaricare, installare ed eseguire il software Stellar Repair for MS SQL.

      Fase 2: dalla finestra Seleziona database, scegliere Sfoglia o Cerca per selezionare il file di database SQL (.mdf) del database sospetto.

      Selezionare il file del database
      Figura 9: Selezionare il file del database

      Fase 3: una volta selezionato il file, premere Ripara.

       Ripara il file selezionato
      Figura 10 – Ripara il file selezionato

      NOTA: Assicurarsi di deselezionare la casella di controllo “Includi record eliminati” se non si desidera recuperare i record eliminati.

      Fase 4: Anteprima del file MDF riparato per gli oggetti di database del server SQL recuperabili.

      Finestra di anteprima
      Figura 11: Finestra di anteprima

      Fase 5: Fare clic su Salva nel menu File per salvare il file riparato.

      Menu File
      Figura 12: Menu File

      Fase 6: dalla finestra Salva database, eseguire le seguenti operazioni:

      • Selezionate MDF in Salva con nome.
      • Salvare il file riparato in Nuovo database o in Live database.
      • Compilare i dettagli in corrispondenza di Connetti al server.
      Finestra Salva database
      Figura 13: Finestra Salva database

      Passo 7: fare clic su Salva.

      Aprire SSMS e collegare il db (contenente il file MDF riparato). Sarà possibile accedere al database.

      Caratteristiche aggiuntive del software

      • Ripara i file MDF e NDF danneggiati.
      • Recupera tabelle, trigger, chiavi, indici, stored procedure, impostazioni predefinite, regole, schemi, ecc.
      • Supporta MS SQL 2019, 2017, 2016, 2014, 2012, 2008 R2 e versioni inferiori.
      • Fornisce diverse opzioni di salvataggio del database riparato, tra cui MS SQL (MDF), CSV, HTML e XLS.

      Il software è apprezzato dagli MVP di Microsoft.

      MVP di Microsoft.
      Il software è apprezzato dagli MVP di Microsoft.

      Conclusione

      In questo post sono stati discussi i metodi su ‘Come ripristinare il database MS SQL dalla modalità sospetta’. L’approccio migliore è quello di ripristinare il database da un backup sano. Se non si dispone di un backup, è possibile utilizzare la modalità EMERGENZA per accedere al database e ripararlo. Tuttavia, è possibile che non si riesca a eseguire il rollback delle transazioni attive quando il database è entrato in modalità sospetta. Inoltre, l’utilizzo dell’opzione REPAIR_ALLOW_DATA_LOSS come livello minimo di riparazione può comportare la perdita di dati. Un’alternativa migliore è quella di utilizzare un software specializzato nella riparazione di database SQL che aiuta a riparare e ripristinare il database da uno stato sospetto a uno stato normale.

      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