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).

Guida al recupero dei dati MSSQL: file del DBMS

File del sistema Microsoft SQL Server

Vai a vedere
Le Migliori Programmi per Recuperare Documenti Cancellati (Microsoft Office, OpenOffice e altri)

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.

Microsoft SQL Server: MSSQL13.SQLEXPRESS, MSSQL13.MSSQLHETMAN

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

C:Program FilesMicrosoft SQL ServerNomeDatabaseMSSQLDATA

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.

    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».

    SQL Server Configuration Manager
  • È 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

Vai a vedere
I migliori strumenti per il recupero dati da RAID

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.

Lo strumento recupera i file da qualsiasi dispositivo, indipendentemente dal motivo della perdita di dati.

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

    Hetman Partition Recovery. Tipo di analisi
  • Con il programma, accedere alla cartella contenente i file del database

    Hetman Partition Recovery
  • Recuperare i file di dati necessari *.mdf, *.ndf, *.ldf

    Hetman Partition Recovery. Recupero
  • Allegare i file di dati recuperati al database SQL Server con la funzione «Collega...»

    Microsoft SQL Server Management Studio. «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.

    Microsoft SQL Server Management Studio. «Allega database»

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

Microsoft SQL Server Management Studio. 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.

C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLHETMANMSSQLBackup

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.

Individua il 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....

Microsoft SQL Server Management Studio. «Esporta dati...»

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

Procedura guidata Importa ed Esporta

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

Microsoft SQL Server Management Studio. Scollega...

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.

Microsoft SQL Server Management Studio. Collega...

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.

Anton Kryvoruchko

Autore: , Scrittore tecnico

Anton Kryvoruchko è traduttore dall'italiano, dall'inglese, dal francese e dal polacco. Ha molti anni di esperienza e lavora con testi di vario argomento: dalla narrativa e testi tecnici alle riviste scientifiche popolari. Lavora costantemente per migliorare le sue conoscenze e competenze, perciò nel tempo libero impara anche il tedesco e lo spagnolo.

Mykhailo Miroshnichenko

Editore: , Scrittore tecnico

Mykhaylo Miroshnychenko è uno dei programmatori principali di Hetman Software. Avendo già quindici anni di esperienza nello sviluppo di software condivide le sue conoscenze con i lettori del nostro blog. Oltre alla programmazione, Mykhaylo è anche un esperto di recupero di dati, di file system, di dispositivi di archiviazione e di array RAID.