SQL Server fornisce un modo semplice per creare un backup di un database. I backup possono essere eseguiti con Transact-SQL, PowerShell o tramite la GUI di SQL Server Management Studio.
Qui dimostrerò come creare un backup utilizzando la GUI del sistema di gestione di SQL ServerSQL Server Management System, quindi utilizzando Transact-SQL e infine con SQL Server Powershell.
Crea un backup tramite la GUI
-
Avvia il Backup del database Finestra di dialogo
In Esplora oggetti, fai clic con il pulsante destro del mouse sul database di cui desideri eseguire il backup e seleziona Attività> Backup... dal menu contestuale.
-
Rivedi le impostazioni di backup
Questa finestra di dialogo ti dà l'opportunità di modificare qualsiasi impostazione, se necessario.
Per il nostro esempio, lascia le impostazioni predefinite e fai clic su OK per creare il backup.
Puoi modificare il database qui se hai selezionato per errore quello sbagliato nel passaggio precedente.
-
Backup completato
Riceverai un messaggio al termine del backup.
Fare clic su OK per chiudere il messaggio e la finestra di dialogo.
Il file di backup si troverà ora nella posizione specificata.
Backup di un database utilizzando Transact-SQL
-
Puoi eseguire lo stesso backup di cui sopra utilizzando SQL.
Per fare ciò, apri una nuova finestra di query ed esegui un
BACKUP
dichiarazione.Il
BACKUP
accetta varie opzioni (proprio come l'opzione GUI), ma puoi anche eseguire un semplice backup con un minimo di codice.Codice campione
Di seguito è riportato un esempio di un semplice script di backup che specifica il database di cui eseguire il backup e la posizione in cui eseguirne il backup.
Dopo aver eseguito questo codice, il file di backup si troverà nella posizione specificata.
BACKUP DATABASE Music TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';
Puoi vedere la sintassi completa per il
BACKUP
dichiarazione sul sito Web Microsoft.
Backup di un database utilizzando PowerShell
SQL Server 2016 supporta Windows PowerShell, che è una shell di scripting, usata in genere per automatizzare le attività di amministrazione e distribuzione.
Il linguaggio PowerShell supporta una logica più complessa rispetto agli script Transact-SQL, che ti dà la possibilità di creare script più sofisticati per i tuoi backup e altre attività.
-
Apri PowerShell
Fare clic con il pulsante destro del mouse sul database e selezionare Avvia PowerShell .
-
Esegui il comando di backup
Immettere il comando per creare il backup e premere Invio (o Ritorno , a seconda della tastiera).
Il backup verrà eseguito immediatamente.
Codice campione
Il codice seguente creerà un backup proprio come negli esempi precedenti. Sostituisci semplicemente
MyServer
con il nome del tuo server.Dopo aver eseguito questo codice, il file di backup si troverà nella posizione predefinita.
Backup-SqlDatabase -ServerInstance MyServer -Database Music
Puoi anche specificare una posizione
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'
Puoi anche specificare
-BackupAction Database
per affermare esplicitamente che si tratta di un backup completo. Tuttavia, questa è l'opzione predefinita.Puoi vedere la documentazione completa per
Backup-SqlDatabase
comando sul sito Web Microsoft.
Sovrascrivere i file di backup
Se hai eseguito tutti gli esempi precedenti esattamente come sono, potresti aver notato che ogni volta che lo eseguivi, la dimensione del file di backup aumentava.
Questo perché ogni backup successivo si aggiunge al file esistente.
Lo sta facendo perché stiamo usando lo stesso nome file e non abbiamo specificato esplicitamente che ogni backup dovrebbe sovrascrivere qualsiasi file esistente.
C'è un'opzione che ti permette di sovrascrivere il file esistente.
- Utilizzo della GUI , fai clic su Opzioni multimediali nel menu a sinistra di Backup database finestra di dialogo e seleziona Sovrascrivi tutti i set di backup esistenti in Sovrascrivi media sezione.
- Utilizzo di SQL aggiungi
WITH INIT
all'istruzione SQL. - Utilizzo di Powershell , aggiungi
-Initialize
al comando.
Salvataggio dei file di backup
Tuttavia, è spesso una buona idea creare un backup completo con un nome file univoco (in genere includendo la data nel nome file). Avere un nome file univoco significherà che ogni backup sarà un file separato.
Inoltre, a seconda delle dimensioni del database e della quantità di nuovi dati inseriti, potresti voler integrare i backup completi con backup differenziali. Un backup differenziale acquisisce solo i dati che sono stati modificati dall'ultimo backup completo.