Come ripristinare il backup del database in SQL Server 2012
Riassunto: Scopriamo come ripristinare il backup di un database di SQL Server per SQL Server 2012. Esistono vari metodi per eseguire backup di database, tra cui l'uso di codice T-SQL, SQL Server Management Studio o applicazioni di terze parti. Questi backup vengono salvati appositamente per essere ripristinati in caso di corruzione o crash del database, migrazione del database, copia del database e altre esigenze aziendali. In questo corso intensivo, ci concentreremo su come ripristinare il backup del database di SQL Server utilizzando la GUI di SQL Server Management Studio (SSMS), il codice T-SQL e il software di recupero SQL.
Prerequisiti
Per questa procedura di ripristino del backup, si presuppone che il backup del database sia prontamente disponibile e che la posizione del file sia nota. Disponiamo inoltre delle autorizzazioni per accedere al file/alla directory e non ci sono problemi di corruzione o di disco con il file di backup. Inoltre, la versione del database non è maggiore della versione di SQL Server su cui il backup deve essere ripristinato. Ad esempio, non è possibile ripristinare un database con la versione 130 (SQL Server 2016) su un SQL Server 2012 o sulla versione (110) – Per saperne di più
Passi per ripristinare il backup del database utilizzando SQL Server Management Studio in SQL Server 2012
Fase 1: avviare SQL Server Management Studio e collegarsi all’istanza SQL di cui si intende ripristinare il backup:
Connettersi all’istanza di SQL Server
Fase 2: Fare clic con il pulsante destro del mouse su database in Esplora oggetti e selezionare “Ripristina database…” per aprire la finestra di dialogo.
Ripristino del database
Fase 3: verificare che nell’opzione Origine sia selezionato il database di origine corretto. È possibile fare clic sull’elenco a discesa per selezionare il database specifico. È inoltre necessario specificare il database di destinazione per questo ripristino.
NOTA: Ripristinare in un nuovo database digitando/specificando il nuovo nome del database di destinazione o selezionando dall’elenco la sovrascrittura. È necessario comprendere le implicazioni della sovrascrittura del database esistente con il backup.
Selezionare un database specifico
Fase 4: nella finestra di dialogo di ripristino del database, sono presenti due opzioni per la scelta del database di backup. La prima riguarda l’ultimo backup effettuato e la seconda consente di selezionare un dato e un’ora specifici. Scegliete quella che fa al caso vostro, quindi fate clic sul pulsante “OK”:
Opzioni per la scelta del backup del database
Due opzioni per il backup del database
Fase 5: Fare ora clic sull’opzione File nel riquadro di sinistra. I file ripristinati possono essere riallocati nelle cartelle specificate desiderate. È anche possibile rinominare il nome fisico dei file di database (MDF, NDF e LDF).
Trasferimento dei file in una cartella
Fase 6: nella pagina Opzioni, nel pannello Opzioni di ripristino, è possibile selezionare una delle seguenti opzioni, se appropriate alla situazione:
- Sovrascrivere il database esistente (CON REPLACE)
- Conservare le impostazioni di replica (CON KEEP_REPLICATION)
- Prompt prima del ripristino di ogni backup
- Limitare l’accesso al database ripristinato (CON RESTRICTED_USER)
Selezionare un’opzione per la casella Stato di ripristino. Questa casella determina lo stato del database dopo l’operazione di ripristino.
RIPRISTINARE CON IL RECUPERO è il comportamento predefinito che lascia il database pronto per l’uso eseguendo il rollback delle transazioni non impegnate. I registri transazioni aggiuntivi non possono essere ripristinati. Selezionare questa opzione se si stanno ripristinando tutti i backup necessari.
RIPRISTINO CON NORECOVERY che lascia il database non operativo e non esegue il rollback delle transazioni non impegnate. È possibile ripristinare altri registri delle transazioni. Il database non può essere utilizzato finché non viene ripristinato.
RIPRISTINO CON STANDBY che lascia il database in modalità di sola lettura. Annulla le transazioni non impegnate, ma salva le azioni annullate in un file di standby in modo che gli effetti del ripristino possano essere ripristinati.
NOTA: Le operazioni di ripristino non riescono se ci sono connessioni attive al database. Selezionare l’opzione Chiudi connessioni esistenti per assicurarsi che tutte le connessioni attive tra Management Studio e il database siano chiuse.
Selezionare Richiedi prima di ripristinare ogni backup se si desidera che venga richiesto tra ogni operazione di ripristino. Di solito non è necessario, a meno che il database SQL non sia di grandi dimensioni e si desideri monitorare lo stato dell’operazione di ripristino.
Opzioni di ripristino del database
Fase 7: A questo punto, fare clic sul pulsante Ok per ripristinare il database oppure, se si desidera creare un codice TSQL per le configurazioni, fare clic su “Script” e selezionare l’azione appropriata, come mostrato di seguito.
Opzione Script
Script di controllo del database
Fase 8: come mostrato nell’immagine, viene visualizzato un indicatore di avanzamento e una casella di messaggio quando il ripristino è riuscito.
Indicatore di avanzamento del ripristino del database
Messaggio di successo
Riferimento al codice TSQL
--TSQL COMANDO PER RIPRISTINARE IL DATABASE DBXXX DA UN FILE DI BACKUP
UTILIZZARE [master]
RIPRISTINARE IL DATABASE [DBXXX]
FROM DISK = N'\MyServer\MyNAS\Backups\SQL_Backups\USERDB\FULL\DBXXX\
DBXXX_backup_2018_09_30_010002_2112459.bak'
CON FILE = 1, NOUNLOAD, STATS = 5
VAI
--VERIFICARE LO STATO DEL RIPRISTINO
SELEZIONARE PERCENTUALE_COMPLETA, TEMPO_DI_COMPLETAMENTO_STIMATO, *
DA SYS.DM_EXEC_REQUESTS
DOVE IL COMANDO È COME '%RESTOR%'
Conclusione
Questa dimostrazione rappresenta uno scenario perfetto in cui non si verificano casi di corruzione, inaccessibilità del database, perdita di file di database e database infettati da virus. In questo caso, è possibile ripristinare facilmente un database in pochi clic o scrivere un semplice script T-SQL come mostrato sopra per ottenere un ripristino completo del database. Vi trovate nello scenario peggiore in cui non riuscite a completare un ripristino a causa dei possibili fattori menzionati in precedenza?
Vorrei presentarvi un robusto SQL Database recovery tool che non solo risolverà il vostro database con la minima perdita di dati e potenzialmente vi aiuterà a ripristinare i record eliminati dal database.