Guida al recupero dei dati MSSQL: file del DBMS
Scopri come recuperare e prevenire la perdita di file e dati del DBMS in MSSQL con facilità in questa guida completa. Sia che tu sia un principiante o un utente esperto, trovi istruzioni passo passo e suggerimenti essenziali per recuperare e prevenire la perdita dei tuoi preziosi file e dati del database. Approfondisci le tecniche di recupero dati e prevenzione delle perdite in MSSQL ed esplora strategie interne per massimizzare le possibilità di un ripristino e di una prevenzione riusciti.
Lo strumento principale nell’interfaccia di SQL Server è Microsoft SQL Server Management Studio (SSMS).

- File del sistema Microsoft SQL Server
- Perché MSSQL può perdere dati
- Metodi per ripristinare un database
- Recuperare un database eliminato con Hetman Partition Recovery
- Come creare una copia di un database SQL Server per successivo ripristino, importazione o trasferimento
- Domande e risposte
- Commenti
File del sistema Microsoft SQL Server
Le Migliori Programmi per Recuperare Documenti Cancellati (Microsoft Office, OpenOffice e altri)
I file di SQL Server vengono salvati su disco per impostazione predefinita:
C:/Program Files/Microsoft SQL Server
Per ogni database viene creata una cartella separata con il suo nome. Ad esempio, nel nostro caso sono stati creati due database Microsoft SQL Server: MSSQL13.SQLEXPRESS, MSSQL13.HETMAN.

I dati di qualsiasi database MSSQL sono memorizzati in file di sistema di lavoro di tre tipi:
- *.mdf – file principale del database. Questo file contiene le informazioni necessarie per avviare il database, i riferimenti ad altri file del database, i dati utente e gli oggetti. I dati di qualsiasi database sono memorizzati fisicamente in un file .mdf.
- *.ndf – file secondari del database che vengono anch’essi utilizzati dal sistema per memorizzare i dati di un database.
- *.ldf – file di log delle transazioni.
Ciascuno di questi file ha un nome simile al nome del database e viene memorizzato nella cartella DATA:
C:/Program Files/Microsoft SQL Server/NomeDatabase/MSSQLDATA

Quando si crea o si configura un database MSSQL, è possibile modificare la cartella in cui conservare i file del database. Per motivi di sicurezza, e poiché i file di database possono essere piuttosto grandi, è consigliabile salvarli su un disco diverso da C.
Perché MSSQL può perdere dati
Per scegliere i metodi di backup e ripristino adeguati, è necessario comprendere cosa può causare la perdita di tali dati. Possono esserci diverse cause, ma le principali sono le seguenti:
Errori software. Questi includono errori logici o malfunzionamenti del sistema. Come risultato di tali errori, il sistema può eseguire una chiusura irregolare, dopo la quale le operazioni di ripristino potrebbero non essere possibili.
Guasto o malfunzionamento hardware. La causa più frequente di perdita di informazioni di un database dovuta a problemi hardware è la rottura del disco rigido. Tuttavia, i dati (o il database) di Microsoft SQL Server possono andare persi a causa di un guasto del computer per qualsiasi motivo, purché l’utente stesse lavorando con il database in quel preciso momento.
Fattore umano. Perdita di dati risultante da azioni involontarie dell’utente o dell’amministratore di sistema.
Metodi per ripristinare un database
Esistono diversi metodi per eseguire il backup e il ripristino di un database SQL Server. L’uso di ciascun metodo dipende dall’obiettivo: eseguire un backup pianificato del database, ripristinare da un backup durante il trasferimento di un database su un altro computer o recuperare i dati di un database MSSQL a seguito della sua eliminazione o perdita.
È possibile creare una copia del database per un successivo ripristino sia con gli strumenti integrati di Microsoft SQL Server Management Studio, sia manualmente. Creare e ripristinare un database da una copia creata manualmente è un processo più rapido rispetto alla creazione e all’estrazione di una copia di backup, ma è meno affidabile.
Inoltre, se si copiano i file del database manualmente senza arrestare il database o durante una transazione, tali file verranno salvati in uno stato incoerente, il che provocherà errori quando si tenterà di utilizzare tali file per ripristinare il sistema. Per questo motivo, prima di creare una copia manuale dei file MSSQL (copie dei file del database e dei log delle transazioni) per il backup, il database dovrebbe essere arrestato (passato in modalità offline).
Per farlo:
-
Avviare SQL Server Configuration Manager.

-
Selezionare i servizi di SQL Server
-
Nella finestra a destra del gestore, fare clic con il pulsante destro del mouse sul database che si desidera arrestare e selezionare «Arresta».

-
È possibile avviare un database in modo analogo selezionando «Avvia» dal menu.
Un database può anche essere arrestato e avviato mediante comandi:
- In Transact-SQL:
SHUTDOWN - Dal prompt dei comandi: Dove MSSQLHETMAN è il nome dell'istanza del servizio
Net stop MSSQLHETMAN
Net start MSSQLHETMAN
Recuperare un database eliminato con Hetman Partition Recovery
I migliori strumenti per il recupero dati da RAID
Se un database SQL Server è stato perso o eliminato da un computer, può essere recuperato a condizione che il disco rigido funzioni correttamente. Ciò può essere fatto con il programma per il recupero dei dati da disco rigido - Hetman Partition Recovery.
Per recuperare i file persi di un database MS SQL Server:
-
Eseguire Hetman Partition Recovery e analizzare il disco in cui erano memorizzati i file di dati di SQL Server

-
Con il programma, accedere alla cartella contenente i file del database

-
Recuperare i file di dati necessari *.mdf, *.ndf, *.ldf

-
Allegare i file di dati recuperati al database SQL Server con la funzione «Collega...»

Per farlo, entrare nel nodo Database e fare clic con il pulsante destro del mouse sulla cartella «Databases». Selezionare il menu «Allega database» / il pulsante «Aggiungi», specificare il file *.mdf del database recuperato e quindi fare clic su OK.

È necessario notare, tuttavia, che se un database è stato eliminato o perso a causa di un malfunzionamento del computer (che potrebbe aver comportato la formattazione del disco o la reinstallazione del sistema operativo), e al momento di tale perdita/eliminazione il database non era stato arrestato, l'avvio successivo di tale database può generare errori. Se è necessario recuperare una copia manuale dei file del database, non dovrebbero esserci problemi nel recuperarli e avviarli.
Come creare una copia di un database SQL Server per successivo ripristino, importazione o trasferimento
Per evitare la perdita di dati di un database MSSQL in caso di imprevisti, e quando è necessario importare un database o trasferirlo da un computer a un altro, Microsoft SQL Server Management Studio (SSMS) offre una serie di strumenti per tutti questi casi, alcuni dei quali sono già stati menzionati in questo articolo.
Metodo 1. Crea copia di backup… / Ripristina
Per creare una copia di backup di un database, fare clic con il pulsante destro del mouse sulla cartella con il suo nome e selezionare Attività / Backup...

Di conseguenza, nella cartella Backup
C:/Program Files/Microsoft SQL Server/MSSQL13.MSSQLHETMAN/MSSQL/Backup
verrà creato un file *.bak contenente la copia di backup del database.

Per ripristinare una copia di backup di un database, fare clic con il pulsante destro del mouse sulla cartella con il suo nome e selezionare Attività / Ripristina, quindi specificare il percorso del file di backup.

Metodo 2. Importa dati… / Esporta dati…
Con la funzione Importa dati / Esporta dati in Microsoft SQL Server è possibile copiare i dati da una sorgente a un file o server di destinazione. Questa funzione supporta le seguenti sorgenti dati:
- SQL Server
- Microsoft Access
- Microsoft Excel
- File piatti (non strutturati).
In altre parole, i dati di un database SQL Server possono essere esportati verso un altro SQL Server o in un file Access, file Excel o in un file piatto (non strutturato). È possibile importare dati in SQL Server dalle stesse sorgenti.
Per esportare i dati da un database, fare clic con il pulsante destro del mouse sulla cartella con il suo nome e selezionare Attività / Esporta dati....

Usare la procedura guidata SQL Server Import and Export che appare per specificare la sorgente e la destinazione dei dati.

È possibile importare i dati in un database in modo analogo, utilizzando il menu Attività / Importa dati....
Metodo 3. Scollega... / Collega..
Il metodo più adatto per creare una copia del database da trasferire su un altro computer è la funzione Scollega... / Collega...
Questo metodo è comodo perché non crea file di database aggiuntivi o file in altri formati. Come risultato dello scollegamento, un database non viene più visualizzato nell'elenco dei database, mentre i suoi file di dati rimangono nella posizione precedente, nella cartella DATA.
Tali file di dati possono essere trasferiti in un'altra posizione conveniente per l'utente senza rischio di perdita dei dati del database corrispondente e poi collegati allo SQL Server di un altro computer (con una versione non più vecchia dello SQL Server da cui è stato scollegato).
Per scollegare un database, fare clic con il pulsante destro del mouse sulla cartella con il suo nome e selezionare Attività / Scollega... / Ok.

Per collegare un database, fare clic con il pulsante destro del mouse sulla cartella Databases e selezionare Collega... / Aggiungi, quindi specificare il percorso del file *.mdf del database che si desidera collegare.

Nota. Se necessario, è possibile utilizzare Hetman Partition Recovery per recuperare un file di copia di backup del database (*.bak), un file di import/export del database o un file di database scollegato (*.mdf, *.ndf, *.ldf) al fine di poterli successivamente collegare o ripristinare in Microsoft SQL Server.

