Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Eseguire il backup di un database in SQL Server 2017

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.

Qui dimostrerò come creare un backup utilizzando la GUI di SQL Operations Studio (ora denominata Azure Data Studio), quindi utilizzando Transact-SQL e infine con SQL Server Powershell.

Crea un backup tramite la GUI SQLOPS/Azure Data Studio

  1. Apri il dashboard del database

    Nel riquadro di sinistra, fai clic con il pulsante destro del mouse sul database di cui desideri eseguire il backup e seleziona Gestisci .

    Se stai utilizzando SSMS, 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. Verrà avviato il Backup del database finestra di dialogo.

  2. Avvia il Database di backup Finestra di dialogo

    Fai clic su Backup pulsante.

  3. Rivedi le impostazioni

    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 Backup per creare il backup.

    Se hai requisiti di backup specifici, puoi modificare il tipo di backup e/o fare clic su Configurazione avanzata per regolare le impostazioni di configurazione avanzate.

  4. Backup completato

    Una volta completato il backup, viene visualizzato un messaggio di conferma che il backup è riuscito.

Backup di un database utilizzando Transact-SQL

Puoi eseguire lo stesso backup di cui sopra utilizzando T-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.

Di seguito è riportato un esempio di un semplice script di backup su un sistema Linux o Mac. Lo script specifica il database di cui eseguire il backup e la posizione in cui eseguirne il backup.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

Su un sistema Windows, il percorso utilizzerà barre inverse:

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Dopo aver eseguito questo codice, il file di backup si troverà nella posizione specificata.

Backup di un database utilizzando PowerShell

SQL Server 2017 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à.

Il codice seguente creerà un backup proprio come negli esempi precedenti. Sostituisci semplicemente MyServer con il nome del tuo server.

Backup-SqlDatabase -ServerInstance MyServer -Database Music

Puoi anche specificare una posizione

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Dopo aver eseguito questo codice, il file di backup si troverà nella posizione predefinita.

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 esegui più backup utilizzando lo stesso nome file per il file di backup, potresti notare che ogni volta che esegui un backup, la dimensione del file di backup aumenta.

Questo perché ogni backup successivo si aggiunge al file esistente. Lo sta facendo perché stai usando lo stesso nome file e non hai specificato esplicitamente che ogni backup dovrebbe sovrascrivere qualsiasi file esistente.

C'è un'opzione che ti permette di sovrascrivere il file esistente.

  • Utilizzo della GUI di SQLOPS , fai clic su Configurazione avanzata e in Backup sul media set esistente , seleziona Sovrascrivi tutti i set di backup esistenti .
  • Utilizzo della GUI di SSMS , 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.

Utilizzo di nomi di file univoci

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.