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

Summary: 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.

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:

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:

Se si seleziona l’opzione Ricolloca tutti i file nella cartella, è possibile modificare 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:

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.

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:

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

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:

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

È 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:

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

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

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

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:

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.

Related Post

Exit mobile version