Sommario
    Riparazione database SQL

    [Errore SQL Server 3156: il database non può essere ripristinato


    Sommario

      Riassunto: Quando si esegue il comando DBCC CHECKDB per riparare un database corrotto, è possibile che venga visualizzato l'errore 8930. In questo post, imparerete a risolvere il messaggio di errore 8930 in SQL Server. Conoscerete anche un software avanzato per l'estrazione del backup di SQL che vi aiuterà a ripristinare i file di backup con facilità.

      Introduzione

      Il messaggio di errore 3156 di SQL Server è legato al ripristino di un database. Mostreremo diverse alternative per risolvere il messaggio di errore.

      Il messaggio di errore è il seguente:

      Errore SQL 3156: Errore SQL 3156: Il file ‘filename’ non può essere ripristinato in ‘C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\FTData\Name’. Utilizzare WITH MOVE per identificare una posizione valida per il file.

      Inoltre, è possibile seguire i semplici passaggi indicati di seguito.

      Requisiti

      Il presente articolo è adatto a qualsiasi versione di SQL Server.

      • Programma di installazione di SQL Server
      • Programma di installazione di SSMS

      Per iniziare

      La prima cosa da fare è verificare se l’utente che sta ripristinando il file ha i permessi nel file specificato.

      Per verificarlo, accedere a Esplora risorse e copiare e incollare il percorso indicato nel messaggio di errore:

      Windows Explorer e copiare e incollare il percorso indicato

      Se non si dispone di autorizzazioni, ripristinare un altro percorso con le autorizzazioni della cartella o concedere le autorizzazioni all’utente della cartella.

      Per modificare il percorso di ripristino, nella finestra Ripristino del database, accedere alla scheda File:

      modificare il percorso di ripristino

      Se si seleziona l’opzione Ricolloca tutti i file nella cartella, è possibile modificare la posizione di ripristino in un luogo valido.

      cambiare la posizione di ripristino in un luogo valido

      Se non si gradisce l’interfaccia utente, è possibile utilizzare i comandi T-SQL:

      UTILIZZARE [master]
      RESTORE DATABASE [nome del dato] FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\aw.bak' WITH FILE = 1,  
      SPOSTARE N'filename' in C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\FTData\Name'.mdf',  
      MOVE N'Logfile_log' TO N'C:\sql\logfile_log.ldf', NOUNLOAD, STATS = 5

      Il codice utilizza la clausola MOVE per spostare i file in una posizione diversa.

      Se il backup è danneggiato, è possibile utilizzare Stellar Toolkit for MS SQLSolution. Questo software comprende tre moduli:

      • Il software per i database MS SQL ripara i file di dati di SQL Server (MDF e NDF).
      • Il software MS SQL Password Recovery recupera le password perse di SQL Server (User e SA).
      • Il software MS SQL Backup Recovery recupera i dati da file.BAK danneggiati o corrotti. In questo articolo utilizzeremo questo software.
      Il software MS SQL Backup Recovery recupera i dati dai file danneggiati.

      Aprire l’opzione Estrai da MS SQL Backup e selezionare il file bak. I file di backup hanno solitamente l’estensione bak e sono solitamente archiviati nella cartella dei file di programma\SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Backup; tuttavia, se si desidera, è possibile personalizzare e salvare i backup in un luogo diverso.

      Estrarre da MS SQL Backup e selezionare il file bak

      Esiste anche un’opzione per cercare il backup se non si sa dove si trova. L’opzione Cerca in specifica dove avviare la ricerca e l’opzione Cerca nella cartella avvia la ricerca:

      Cerca nella cartella

      Una volta selezionato il file di backup, premere il pulsante Scansione:

      selezionato il file di backup

      Il pulsante Scansione avvia la riparazione del backup e il software offre una finestra per selezionare il set di backup. È possibile controllare il nome del set di backup e la data:

      selezionare il set di backup

      Una volta selezionato il set di backup, premere il pulsante Avanti e selezionare la versione di SQL Server:

      selezionato il set di backup

      È possibile lavorare con qualsiasi versione di SQL Server e ci sono anche opzioni per lavorare con file creati su una versione e convertiti in una nuova. Premere OK.

      Il software mostra tutti gli oggetti di SQL Server disponibili all’interno del backup, tra cui tabelle, viste, sinonimi, stored procedure, trigger, sequenze, regole, default, assiemi e altro ancora:

      backup, comprese le tabelle

      È possibile visualizzare in anteprima i dati all’interno delle tabelle:

      Anteprima dei dati all'interno delle tabelle

      È anche possibile controllare il codice T-SQL delle viste:

      controllare il codice T-SQL delle viste

      Una volta selezionati gli oggetti, premere il pulsante Salva per salvare le informazioni.

      ha selezionato gli oggetti

      Sono disponibili 4 opzioni:

      Sono disponibili 4 opzioni

      Una è quella di salvare le informazioni in SQL Server (MSSQL), l’altra è quella di salvare in un formato di valori separati da virgole (CSV), in Hypertext Markup Language (HTML) o in Excel (XLS). In questo esempio, salveremo in MSSQL.

      È possibile salvare il backup in un nuovo database o in un database esistente (database live). Inoltre, è possibile specificare il nome dell’istanza e il tipo di autenticazione. È possibile utilizzare la posizione predefinita o una posizione personalizzata:

      utilizzare una posizione personalizzata

      Al termine del salvataggio, sarà possibile vedere il database ripristinato in SQL Server:

      Conclusione

      In questo articolo vengono illustrati diversi modi per risolvere il messaggio di errore 3156 di SQL Server. Mostriamo come spostare la posizione del database ripristinato e anche un modo per riparare il backup se è danneggiato.

      Infine, mostriamo come utilizzare Stellar Toolkit for MS SQL per recuperare un backup danneggiato e ripristinare le informazioni. È possibile ripristinare in MSSQL, HTML, Excel o CSV.

      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.

      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