Come per i backup di database, in SQL Server 2016 è possibile ripristinare un database utilizzando Transact-SQL, PowerShell o tramite la GUI di SQL Server Management Studio.
Qui dimostrerò come ripristinare un database utilizzando la GUI del sistema di gestione di SQL ServerSQL Server Management System, quindi utilizzando Transact-SQL.
Ripristina un database tramite la GUI
In questo esempio, ripristineremo un backup di un database nuovo di zecca chiamato WideWorldImporters .
Gli WideWorldImporters database è un database di esempio fornito dal team SQL Server di Microsoft per dimostrare come è possibile utilizzare le funzionalità di SQL Server in uno scenario reale.
Questo processo creerà un nuovo database chiamato WideWorldImporters . Il database conterrà vari oggetti (come tabelle, viste, stored procedure, ecc.). Conterrà anche dati di esempio, quindi non è necessario aggiungerne di nuovi.
Scarica il file di backup del database
Prima di iniziare, scarica il database (da GitHub).
- Scarica WideWorldImporters-Full.bak file se stai utilizzando l'edizione Evaluation, Developer o Enterprise Edition di SQL Server.
- Oppure scarica WideWorldImporters-Standard.bak file se stai utilizzando SQL Server Standard Edition.
-
Avvia Ripristina database Finestra di dialogo
In Esplora oggetti, fai clic con il pulsante destro del mouse su Database nodo e seleziona Ripristina database... dal menu contestuale.
-
Seleziona il file di backup
Sotto la Fonte intestazione, seleziona Dispositivo e fai clic sul pulsante con i puntini di sospensione ( ... ) per avviare Seleziona dispositivi di backup finestra di dialogo.
-
Seleziona il file di backup
Garantire quel File è selezionato, fai clic su Aggiungi per cercare il file .bak del database e aggiungerlo.
Dopo aver aggiunto il file di backup ed è elencato in Supporto di backup: , fai clic su OK per uscire da questa finestra di dialogo.
-
Controlla le impostazioni
Vari campi in Ripristina database la finestra di dialogo verrà popolata in base al file di backup selezionato.
Fare clic su OK per ripristinare il database.
Puoi (facoltativamente) fare clic su Verifica supporto di backup per verificare che non ci siano problemi con il file di backup prima di eseguire il processo di ripristino.
-
Messaggio di successo
Riceverai un messaggio che ti informa che il database è stato ripristinato correttamente.
Fare clic su OK per finire.
-
Controlla il database
Passa a WideWorldImporters database ed espandere i suoi nodi per rivedere i suoi vari oggetti come tabelle, viste, stored procedure, ecc.
Puoi iniziare a lavorare con questo database immediatamente. Ad esempio, eseguendo
SELECT * FROM Website.Suppliers;
restituirà un elenco di fornitori che utilizzano il Sito web.Fornitori visualizza.
Ripristinare un database utilizzando Transact-SQL
-
È possibile eseguire lo stesso ripristino del database di cui sopra utilizzando SQL.
Per fare ciò, apri una nuova finestra di query ed esegui un
RESTORE
dichiarazione.Il
RESTORE
accetta varie opzioni (proprio come l'opzione GUI), ma puoi anche eseguire un semplice ripristino con un minimo di codice.Codice campione
Di seguito è riportato un esempio di un semplice script di ripristino che specifica il file di database da ripristinare e il database di destinazione.
Specifica inoltre dove verranno posizionati i dati e i file di registro.
Dopo aver eseguito questo codice, WideWorldImporters verrà creato il database.
Elimina prima il database esistente eseguendo il codice seguente:
USE master; DROP DATABASE WideWorldImporters;
Puoi anche eliminare un database tramite Esplora oggetti facendo clic con il pulsante destro del mouse sul nome del database e selezionando Elimina dal menu contestuale.
Ora controlla che il database non sia più elencato in Esplora oggetti. Potrebbe essere necessario fare clic con il pulsante destro del mouse su Database e fai clic su Aggiorna prima che scompaia.
Dopo aver confermato che il database non esiste più sul tuo server, esegui il seguente script per ripristinarlo:
USE master; RESTORE DATABASE WideWorldImporters FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\WideWorldImporters-Full.bak' WITH MOVE N'WWI_Primary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.mdf', MOVE N'WWI_UserData' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_UserData.ndf', MOVE N'WWI_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.ldf', MOVE N'WWI_InMemory_Data_1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_InMemory_Data_1';
Mostra un messaggio di avanzamento
Puoi usare le
STATS
opzione per ricevere un aggiornamento sullo stato di avanzamento del processo di ripristino.Ad esempio,
STATS=10
comporterà un 10 percento elaborato , 20 percento elaborato , ecc. durante il ripristino del database.Puoi vedere la sintassi completa per
RESTORE
dichiarazione sul sito Web Microsoft.
Ora puoi utilizzare questo database per provare diverse cose. Sentiti libero di sperimentare con esso. Interroga dati, elimina dati, rilascia oggetti, qualsiasi cosa. Dopotutto, se sbagli completamente, puoi sempre ripristinare il database dal file di backup.