Share via


Creazione di un backup completo del database (SQL Server)

In questo argomento viene descritto come creare un backup completo del database in SQL Server 2012 utilizzando SQL Server Management Studio, Transact-SQL o PowerShell.

[!NOTA]

A partire dall'aggiornamento cumulativo 2 di SQL Server 2012 SP1, è supportato il backup di SQL Server nel servizio di archiviazione BLOB di Windows Azure. Per ulteriori informazioni, vedere Backup and Restore Enhancements e Backup e ripristino di SQL Server con il servizio di archiviazione BLOB di Windows Azure.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Consigli

    Sicurezza

  • Per creare un backup completo del database utilizzando:

    SQL Server Management Studio

    Transact-SQL

    PowerShell

  • Attività correlate

Prima di iniziare

Limitazioni e restrizioni

  • Non è possibile utilizzare l'istruzione BACKUP in una transazione esplicita o implicita.

  • I backup creati nella versione più recente di SQL Server non possono essere ripristinati nelle versioni precedenti di SQL Server.

  • Per ulteriori informazioni, vedere Panoramica del backup (SQL Server).

Consigli

  • Poiché le dimensioni del database aumentano, i backup completi del database richiedono più tempo e più spazio di archiviazione. Per un database di grandi dimensioni può pertanto essere utile integrare un backup completo del database con una serie di backup database differenziali. Per ulteriori informazioni, vedere Backup differenziali [SQL Server].

  • È possibile stimare la dimensione di un backup del database completo tramite la stored procedure di sistema sp_spaceused.

  • Per impostazione predefinita, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL Server e al registro eventi di sistema. Se il backup del log viene eseguito di frequente, questi messaggi possono aumentare rapidamente, provocando la creazione di log degli errori di dimensioni elevate e rendendo difficile l'individuazione di altri messaggi. In questi casi è possibile eliminare tali voci di log utilizzando il flag di traccia 3226 se nessuno degli script dipende da esse. Per ulteriori informazioni, vedere Flag di traccia (Transact-SQL).

Sicurezza

TRUSTWORTHY è impostato su OFF in un backup del database. Per informazioni su come impostare TRUSTWORTHY su ON, vedere Opzioni ALTER DATABASE SET (Transact-SQL).

A partire da SQL Server 2012, le opzioni PASSWORD e MEDIAPASSWORD non sono più disponibili per la creazione di backup. È possibile ripristinare backup creati con password.

Autorizzazioni

Le autorizzazioni BACKUP DATABASE e BACKUP LOG vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator.

Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup. È necessario che in SQL Server sia possibile leggere e scrivere sul dispositivo e che l'account utilizzato per eseguire il servizio SQL Server disponga delle autorizzazioni di scrittura. Le autorizzazioni di accesso ai file, tuttavia, non vengono controllate dalla stored procedure sp_addumpdevice, che aggiunge una voce per un dispositivo di backup nelle tabelle di sistema. Di conseguenza, i problemi relativi all'accesso e alla proprietà del file fisico del dispositivo di backup potrebbero emergere solo in fase di accesso alla risorsa fisica durante un tentativo di backup o ripristino.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di SQL Server Management Studio

[!NOTA]

Quando si specifica un'attività di backup utilizzando SQL Server Management Studio, è possibile generare lo script Transact-SQL BACKUP corrispondente facendo clic sul pulsante Script e selezionando una destinazione per lo script.

Per eseguire il backup di un database

  1. Dopo aver attivato la connessione all'istanza appropriata di Microsoft Motore di database di SQL Server, in Esplora oggetti fare clic sul nome del server per espanderne l'albero.

  2. Espandere Database e, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.

  3. Fare clic con il pulsante destro del mouse sul database, scegliere Attività, quindi fare clic su Backup. Verrà visualizzata la finestra di dialogo Backup database.

  4. Verificare il nome del database nella casella di riepilogo Database. È possibile selezionare facoltativamente un database diverso nell'elenco.

  5. È possibile eseguire il backup di un database per qualsiasi modello di recupero (FULL, BULK_LOGGED o SIMPLE).

  6. Nella casella di riepilogo Tipo di backup selezionare Completo.

    Si noti che dopo aver eseguito un backup completo, è possibile creare un backup differenziale del database. Per ulteriori informazioni, vedere Creazione di un backup differenziale del database (SQL Server).

  7. Facoltativamente, è possibile selezionare Copia solo backup per creare un backup di sola copia. Un backup di sola copia è un backup di SQL Server indipendente dalla sequenza di backup convenzionali di SQL Server. Per ulteriori informazioni, vedere Backup di sola copia (SQL Server).

    [!NOTA]

    Quando si seleziona l'opzione Differenziale, non è possibile creare un backup di sola copia.

  8. In Componente di cui eseguire il backup fare clic su Database.

  9. Accettare il nome predefinito del set di backup indicato nella casella di testo Nome oppure immettere un nome diverso per il set di backup.

  10. Facoltativamente, immettere una descrizione del set di backup nella casella di testo Descrizione.

  11. Specificare quando il set di backup scadrà e potrà essere sovrascritto senza ignorare esplicitamente la verifica dei dati relativi alla scadenza:

    • Per impostare una scadenza specifica per il set di backup, fare clic su Dopo (opzione predefinita) e immettere il numero di giorni dopo la creazione del set trascorsi i quali il set scadrà. È possibile impostare un valore compreso nell'intervallo da 0 a 99999 giorni. L'impostazione del valore 0 giorni indica che il set di backup non ha scadenza.

      Il valore predefinito viene impostato nell'opzione Periodo di memorizzazione predefinito supporti di backup (giorni) della finestra di dialogo Proprietà server (pagina Impostazioni database). Per accedere alla pagina, fare clic con il pulsante destro del mouse sul nome del server in Esplora oggetti e scegliere Proprietà, quindi selezionare la pagina Impostazioni database.

    • Per impostare una data di scadenza specifica per il set di backup, fare clic su Il e immettere la data di scadenza del set.

      Per ulteriori informazioni sulle date di scadenza dei backup, vedere BACKUP (Transact-SQL).

  12. Fare clic su Disco o su Nastro per selezionare il tipo di destinazione del backup. Per selezionare i percorsi per un massimo di 64 unità disco o nastro contenenti un singolo set di supporti, fare clic su Aggiungi. I percorsi selezionati vengono visualizzati nella casella di riepilogo Backup su.

    Per rimuovere una destinazione di backup, selezionarla e fare clic su Rimuovi. Per visualizzare il contenuto di una destinazione di backup, selezionarla e fare clic su Contenuto.

  13. Per visualizzare o selezionare le opzioni avanzate, fare clic su Opzioni nel riquadro Selezione pagina.

  14. Selezionare un'opzione Sovrascrivi supporti facendo clic su una delle opzioni seguenti:

    • Esegui backup nel set di supporti esistente

      Per questa opzione, fare clic su Accoda al set di backup esistente o Sovrascrivi tutti i set di backup esistenti. Per ulteriori informazioni, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

      Selezionare facoltativamente l'opzione Controlla nome set di supporti e scadenza set di backup per impostare la verifica della data e dell'ora di scadenza del set di supporti e del set di backup durante l'operazione di backup.

      Immettere facoltativamente un nome nella casella di testo Nome set di supporti. Se non si specifica un nome, verrà creato un set di supporti con nome vuoto. Se si specifica un nome, il supporto (nastro o disco) verrà controllato per verificare che il nome corrente corrisponda al nome specificato.

    • Esegui backup in un nuovo set di supporti e cancella tutti i set di backup esistenti

      Per questa opzione, immettere un nome nella casella di testo Nome nuovo set di supporti e, facoltativamente, aggiungere una descrizione per il set di supporti nella casella di testo Descrizione nuovo set di supporti.

  15. Nella sezione Affidabilità è possibile selezionare facoltativamente:

  16. Se si esegue il backup su un'unità nastro (come specificato nella sezione Destinazione della pagina Generale) l'opzione Scarica nastro al termine del backup sarà attiva. Se si seleziona questa opzione, verrà inoltre attivata l'opzione Riavvolgi il nastro prima di scaricarlo.

    [!NOTA]

    Le opzioni della sezione Log delle transazioni sono inattive, a meno che non venga eseguito il backup di un log delle transazioni (come specificato nella sezione Tipo di backup della pagina Generale).

  17. In SQL Server 2008 Enterprise e versioni successive è supportata la compressione backup. Per impostazione predefinita, la compressione dei backup dipende dal valore dell'opzione di configurazione del server backup-compression default. Tuttavia, indipendentemente dall'impostazione predefinita a livello di server corrente, è possibile comprimere un backup selezionando Comprimi backup ed è possibile impedire la compressione selezionando Non comprimere il backup.

    Per visualizzare o modificare l'impostazione predefinita corrente della compressione dei backup

[!NOTA]

In alternativa, è possibile creare i backup di database tramite Creazione guidata piano di manutenzione.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di Transact-SQL

Per creare un backup completo del database

  1. Per creare backup completo del database, eseguire l'istruzione BACKUP DATABASE specificando:

    • Il nome del database di cui eseguire il backup.

    • Il dispositivo di backup in cui archiviare il backup completo del database.

    La sintassi di base dell'istruzione Transact-SQL per un backup completo del database è la seguente:

    BACKUP DATABASE database

    TO backup_device [ ,...n ]

    [ WITH with_options [ ,...o ] ] ;

    Opzione

    Descrizione

    database

    Corrisponde al database di cui eseguire il backup.

    backup_device [ ,...n ]

    Specifica un elenco di dispositivi di backup da 1 a 64 da utilizzare per l'operazione di backup. È possibile specificare un dispositivo di backup fisico oppure un dispositivo di backup logico corrispondente se è già stata definito. Per specificare un dispositivo di backup fisico, utilizzare l'opzione DISK o TAPE:

    { DISK | TAPE } = physical_backup_device_name

    Per ulteriori informazioni, vedere Dispositivi di backup (SQL Server).

    WITH with_options [ ,...o ]

    Facoltativamente, specifica una o più opzioni aggiuntive, o. Per informazioni su alcune opzioni WITH di base, vedere il passaggio 2.

  2. Facoltativamente, specificare uno o più opzioni WITH. Alcune opzioni WITH di base sono descritte di seguito. Per informazioni su tutte le opzioni WITH, vedere BACKUP (Transact-SQL).

    • Opzioni WITH del set di backup di base:

      • { COMPRESSION | NO_COMPRESSION }
        Solo in SQL Server 2008 Enterprise e versioni successive, specifica se la compressione backup è eseguita su questo backup, ignorando l'impostazione predefinita a livello di server.

      • DESCRIPTION = { 'text' | **@**text_variable }
        Specifica il testo in formato libero che descrive il set di backup. La stringa può essere composta al massimo da 255 caratteri.

      • NAME = { backup_set_name | **@**backup_set_name_var }
        Specifica il nome del set di backup. I nomi possono essere composti da un massimo di 128 caratteri. Se si omette NAME, al set di backup non viene assegnato alcun nome specifico.

    • Opzioni WITH del set di backup di base:

      Per impostazione predefinita, BACKUP accoda il backup a un set di supporti esistente, conservando i set di backup esistenti. E possibile specificarlo in modo esplicito utilizzando l'opzione NOINIT. Per informazioni sull'accodamento a set di backup esistenti, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

      In alternativa, utilizzare l'opzione FORMAT per formattare i supporti di backup:

      • FORMAT [ , MEDIANAME**=** { media_name | **@**media_name_variable } ] [ , MEDIADESCRIPTION = { text | **@**text_variable } ]
        Utilizzare la clausola FORMAT, se i supporti vengono utilizzati per la prima volta o si desiderano sovrascrivere tutti i dati esistenti. Facoltativamente, assegnare al nuovo supporto un nome e una descrizione.

        Nota importanteImportante

        Utilizzare la clausola FORMAT dell'istruzione BACKUP con estrema cautela, in quanto entrambe comportano la cancellazione di eventuali backup archiviati in precedenza nei supporti di backup.

Esempi (Transact-SQL)

A.Esecuzione del backup su un dispositivo disco

Nell'esempio riportato di seguito viene eseguito il backup su disco del database AdventureWorks2012 completo, utilizzando FORMAT per creare un nuovo set di supporti.

USE AdventureWorks2012;
GO
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.Bak'
   WITH FORMAT,
      MEDIANAME = 'Z_SQLServerBackups',
      NAME = 'Full Backup of AdventureWorks2012';
GO

B.Esecuzione del backup su un dispositivo nastro

Nell'esempio seguente viene eseguito il backup completo su nastro del database AdventureWorks2012 , accodandolo ai backup precedenti.

USE AdventureWorks2012;
GO
BACKUP DATABASE AdventureWorks2012
   TO TAPE = '\\.\Tape0'
   WITH NOINIT,
      NAME = 'Full Backup of AdventureWorks2012';
GO

C.Esecuzione del backup su un dispositivo nastro logico

Nell'esempio seguente viene creato in un dispositivo di backup logico per un'unità nastro. Nell'esempio viene quindi eseguito il backup completo del database AdventureWorks2012 su quel dispositivo.

-- Create a logical backup device, 
-- AdventureWorks2012_Bak_Tape, for tape device \\.\tape0.
USE master;
GO
EXEC sp_addumpdevice 'tape', 'AdventureWorks2012_Bak_Tape', '\\.\tape0'; 
USE AdventureWorks2012;
GO
BACKUP DATABASE AdventureWorks2012
   TO AdventureWorks2012_Bak_Tape
   WITH FORMAT,
      MEDIANAME = 'AdventureWorks2012_Bak_Tape',
      MEDIADESCRIPTION = '\\.\tape0', 
      NAME = 'Full Backup of AdventureWorks2012';
GO

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di PowerShell

  1. Utilizzare il cmdlet Backup-SqlDatabase. Per indicare in modo esplicito che si tratta di un backup completo del database, specificare il parametro -BackupAction con il valore predefinito, Database. Questo parametro è facoltativo per i backup completi di database.

    Nell'esempio seguente viene creato un backup completo del database MyDB nel percorso di backup predefinito dell'istanza del server Computer\Instance. Facoltativamente, in questo esempio viene specificato -BackupAction Database.

    --Enter this command at the PowerShell command prompt, C:\PS>
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Database
    

Per impostare e utilizzare il provider PowerShell per SQL Server

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Attività correlate

Icona freccia utilizzata con il collegamento Torna all'inizio[Torna all'inizio]

Vedere anche

Riferimento

sp_addumpdevice (Transact-SQL)

BACKUP (Transact-SQL)

Backup database (pagina Generale)

Backup database (pagina Opzioni)

Concetti

Panoramica del backup (SQL Server)

Backup di log delle transazioni (SQL Server)

Set di supporti, gruppi di supporti e set di backup (SQL Server)

Backup differenziali [SQL Server]

Backup completo del database (SQL Server)