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

SQL Server 2016:backup di un database

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

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

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

  3. 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à.

  1. Apri PowerShell

    Fare clic con il pulsante destro del mouse sul database e selezionare Avvia PowerShell .

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