Backup di file e filegroup (SQL Server)Back Up Files and Filegroups (SQL Server)

In questo argomento viene descritto come eseguire il backup di file e filegroup in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo PowerShell.This topic describes how to back up files and filegroups in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell. Quando a causa delle dimensioni del database e dei requisiti relativi alle prestazioni non è consigliabile eseguire un backup completo del database, è possibile creare invece un backup del file.When the database size and performance requirements make a full database backup impractical, you can create a file backup instead. Un backup del file contiene tutti i dati inclusi in uno o più file o filegroup.A file backup contains all the data in one or more files (or filegroups). Per altre informazioni sul backup dei file, vedere Backup completi del file (SQL Server) e Backup differenziali (SQL Server).For more information about file backups, see Full File Backups (SQL Server) and Differential Backups (SQL Server).

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Non è possibile utilizzare l'istruzione BACKUP in una transazione esplicita o implicita.The BACKUP statement is not allowed in an explicit or implicit transaction.

  • In base al modello di recupero con registrazione minima, è necessario creare una copia di backup contenente tutti i file di lettura/scrittura,Under the simple recovery model, read/write files must all be backed up together. al fine di garantire che il database possa essere ripristinato fino a un punto nel tempo coerente.This helps make sure that the database can be restored to a consistent point in time. Anziché specificare singolarmente ogni file o filegroup di lettura/scrittura, utilizzare l'opzione READ_WRITE_FILEGROUPS.Instead of individually specifying each read/write file or filegroup, use the READ_WRITE_FILEGROUPS option. Questa opzione consente di eseguire il backup di tutti i filegroup di lettura/scrittura del database.This option backs up all the read/write filegroups in the database. Un backup creato con l'opzione READ_WRITE_FILEGROUPS è noto come backup parziale.A backup that is created by specifying READ_WRITE_FILEGROUPS is known as a partial backup. Per altre informazioni, vedere Backup parziali (SQL Server).For more information, see Partial Backups (SQL Server).

  • Per altre informazioni sulle limitazioni e restrizioni, vedere Panoramica del backup (SQL Server).For more information about limitations and restrictions, see Backup Overview (SQL Server).

Indicazioni Recommendations

  • Per impostazione predefinita, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL ServerSQL Server e al registro eventi di sistema.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. 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.If you back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. In questi casi è possibile eliminare tali voci di log utilizzando il flag di traccia 3226 se nessuno degli script dipende da esse.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. Per altre informazioni, vedere Flag di traccia (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

Autorizzazioni Permissions

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 .BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.

Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server sia possibile leggere e scrivere sul dispositivo e che l'account utilizzato per eseguire il servizio SQL ServerSQL Server disponga delle autorizzazioni di scrittura. service runs must have write permissions. Le autorizzazioni di accesso ai file, tuttavia, non vengono controllate dalla stored procedure sp_addumpdeviceche aggiunge una voce per un dispositivo di backup nelle tabelle di sistema.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. 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.Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.

Backup di file e filegroup usando SSMSBack up files and filegroups using SSMS

  1. Dopo aver effettuato la connessione all'istanza appropriata del Motore di database di SQL ServerSQL Server Database Engine, in Esplora oggetti fare clic sul nome del server per espanderne l'albero.After connecting to the appropriate instance of the Motore di database di SQL ServerSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. Espandere Databasee, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Fare clic con il pulsante destro del mouse sul database, scegliere Attivitàe quindi fare clic su Back Up.Right-click the database, point to Tasks, and then click Back Up. Verrà visualizzata la finestra di dialogo Backup database .The Back Up Database dialog box appears.

  4. Verificare il nome del database nell'elenco Database .In the Database list, verify the database name. È possibile selezionare facoltativamente un database diverso nell'elenco.You can optionally select a different database from the list.

  5. Nell'elenco Tipo di backup selezionare Completo o Differenziale.In the Backup type list, select Full or Differential.

  6. Selezionare l'opzione File e filegroup in Componente di cui eseguire il backup.For the Backup component option, click File and Filegroups.

  7. Selezionare i file e i filegroup dei quali si desidera eseguire il backup nella finestra di dialogo Seleziona file e filegroup .In the Select Files and Filegroups dialog box, select the files and filegroups you want to back up. È possibile selezionare uno o più file singoli oppure selezionare la casella di controllo relativa a un filegroup per selezionare automaticamente tutti i file appartenenti al filegroup.You can select one or more individual files or check the box for a filegroup to automatically select all the files in that filegroup.

  8. Accettare il nome predefinito del set di backup indicato nella casella di testo Nome oppure immettere un nome diverso per il set di backup.Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. Facoltativamente, immettere una descrizione del set di backup nella casella di testo Descrizione .Optionally, in the Description text box, enter a description of the backup set.

  10. Specificare la scadenza del set di backup:Specify when the backup set will expire:

    • Per far scadere il set di backup dopo un numero specifico di giorni, fare clic su Dopo (opzione predefinita),To have the backup set expire after a specific number of days, click After (the default option). quindi immettere il numero di giorni che devono trascorrere prima della scadenza del set.Then, enter the number of days after set creation that the set will expire. È 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.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      Il valore predefinito viene impostato nell'opzione Periodo di memorizzazione predefinito supporti di backup (giorni) della finestra di dialogo Proprietà server (paginaImpostazioni database ).The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). Per accedere a questa opzione, fare clic con il pulsante destro del mouse sul nome del server in Esplora oggetti, scegliere Proprietà e quindi selezionare la pagina Impostazioni database .To access this option, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • Per impostare una data di scadenza specifica per il set di backup, fare clic su Ile immettere la data di scadenza del set.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. Fare clic su Disco o su Nastroper selezionare il tipo di destinazione del backup.Choose the type of backup destination by clicking Disk or Tape. Per selezionare i percorsi per un massimo di 64 unità disco o nastro contenenti un singolo set di supporti, fare clic su Aggiungi.To select the paths of up to 64 disk or tape drives that contain a single media set, click Add. I percorsi selezionati vengono visualizzati nell'elenco Backup su .The selected paths are displayed in the Backup to list.

    NOTA: per rimuovere una destinazione di backup, selezionarla e fare clic su Rimuovi.NOTE: To remove a backup destination, select it and click Remove. Per visualizzare il contenuto di una destinazione di backup, selezionarla e fare clic su Contenuto.To view the contents of a backup destination, select it and click Contents.

  12. Per visualizzare o selezionare le opzioni avanzate, fare clic su Opzioni nel riquadro Selezione pagina .To view or select the advanced options, click Options in the Select a page pane.

  13. Selezionare un'opzione Sovrascrivi supporti facendo clic su una delle opzioni seguenti:Select an Overwrite Media option, by clicking one of the following:

    • Esegui backup nel set di supporti esistenteBack up to the existing media set

      Per questa opzione, fare clic su Accoda al set di backup esistente o Sovrascrivi tutti i set di backup esistenti.For this option, click either Append to the existing backup set or Overwrite all existing backup sets. Per informazioni sul backup in un set di supporti esistente, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).For information about backing up to an existing media set, see Media Sets, Media Families, and Backup Sets (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.Optionally, select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      Immettere facoltativamente un nome nella casella di testo Nome set di supporti .Optionally, enter a name in the Media set name text box. Se non si specifica un nome, verrà creato un set di supporti con nome vuoto.If no name is specified, a media set with a blank name is created. Se si specifica il nome di un set di supporti, viene eseguito un controllo sul supporto (nastro o disco) per verificare che il nome effettivo corrisponda al nome qui immesso.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name that you enter here.

      Se non si specifica il nome del set di supporti e si seleziona la casella di controllo per il controllo del nome, in caso di esito positivo anche il nome dei supporti nei supporti risulterà vuoto.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • Esegui backup in un nuovo set di supporti e cancella tutti i set di backup esistentiBack up to a new media set, and erase all existing backup sets

      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 .For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box. Per altre informazioni sulla creazione di un nuovo set di supporti, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).For more information about creating a new media set, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. Nella sezione Affidabilità è possibile selezionare facoltativamente:In the Reliability section, optionally check:

  15. 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.If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. Selezionando questa opzione viene abilitata anche l'opzione Riavvolgi il nastro prima di scaricarlo .Clicking this option enables the Rewind the tape before unloading option.

    NOTA: le opzioni presenti nella sezione Log delle transazioni sono attive solo in caso di backup di un log delle transazioni, come specificato nella sezione Tipo backup della pagina Generale .NOTE: The options in the Transaction log section are inactive unless you are backing up a transaction log (as specified in the Backup type section of the General page).

  16. SQL Server 2008 Enterprise EditionSQL Server 2008 Enterprise e nelle versioni più recenti è supportata la [compressione dei backup](../../relational-databases/backup-restore/backup-compression-sql-server.md).(../../relational-databases/backup-restore/backup-compression-sql-server.md). Per impostazione predefinita, la compressione di un backup dipende dal valore dell'opzione di configurazione del server Valore predefinito di compressione backup .By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. Tuttavia, indipendentemente dall'impostazione predefinita a livello di server corrente, è possibile comprimere un backup selezionando Comprimi backuped è possibile impedire la compressione selezionando Non comprimere il backup.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    Per visualizzare l'impostazione predefinita corrente della compressione dei backupTo view the current backup compression default

Backup di file e filegroup usando T-SQLBack up files and filegroups using T-SQL

  1. Per creare un backup del file o del filegroup, usare un'istruzione BACKUP DATABASE <file_or_filegroup>.To create a file or filegroup backup, use a BACKUP DATABASE <file_or_filegroup> statement. In questa istruzione è necessario specificare almeno gli elementi seguenti:Minimally, this statement must specify the following:

    • Nome del database.The database name.

    • Una clausola FILE o FILEGROUP per ogni file o filegroup, rispettivamente.A FILE or FILEGROUP clause for each file or filegroup, respectively.

    • Il dispositivo di backup in cui verrà scritto il backup completo.The backup device on which the full backup will be written.

      La sintassi Transact-SQLTransact-SQL di base per un backup del file è la seguente:The basic Transact-SQLTransact-SQL syntax for a file backup is:

      BACKUP DATABASE databaseBACKUP DATABASE database

      { FILE =nome_file_logico | FILEGROUP =nome_filegroup_logico } [ ,...f ]{ FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,...f ]

      TO dispositivo_backup [ ,...n ]TO backup_device [ ,...n ]

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

    OpzioneOption DescrizioneDescription
    databasedatabase Nome del database di cui viene eseguito il backup del log delle transazioni oppure il backup parziale o completo del database.Is the database from which the transaction log, partial database, or complete database is backed up.
    FILE =nome_file_logicoFILE =logical_file_name Specifica il nome logico di un file da includere nel backup del file.Specifies the logical name of a file to include in the file backup.
    FILEGROUP =nome_filegroup_logicoFILEGROUP =logical_filegroup_name Specifica il nome logico di un filegroup da includere nel backup del file.Specifies the logical name of a filegroup to include in the file backup. Con il modello di recupero con registrazione minima, il backup dei filegroup è consentito solo per i filegroup di sola lettura.Under the simple recovery model, a filegroup backup is allowed only for a read-only filegroup.
    [ ,...f ][ ,...f ] Segnaposto che indica che è possibile specificare più file e filegroup.Is a placeholder that indicates that multiple files and filegroups may be specified. Il numero di file o filegroup che possono essere specificati è illimitato.The number of files or filegroups is unlimited.
    dispositivo_backup [ ,...n ]backup_device [ ,...n ] Specifica un elenco di dispositivi di backup da 1 a 64 da utilizzare per l'operazione di backup.Specifies a list of from 1 to 64 backup devices to use for the backup operation. È possibile specificare un dispositivo di backup fisico oppure un dispositivo di backup logico corrispondente se è già stata definito.You can specify a physical backup device, or you can specify a corresponding logical backup device, if already defined. Per specificare un dispositivo di backup fisico, utilizzare l'opzione DISK o TAPE:To specify a physical backup device, use the DISK or TAPE option:

    { DISK | TAPE } =nome_dispositivo_backup_fisico{ DISK | TAPE } =physical_backup_device_name

    Per altre informazioni, vedere Dispositivi di backup (SQL Server).For more information, see Backup Devices (SQL Server).
    WITH con_opzioni [ ,...o ]WITH with_options [ ,...o ] Facoltativamente, specifica una o più opzioni aggiuntive, ad esempio DIFFERENTIAL.Optionally, specifies one or more additional options, such as DIFFERENTIAL.

    Nota: il backup differenziale del file richiede come base un backup completo del file.Note: A differential file backup requires a full file backup as a base. Per altre informazioni, vedere Creare un backup differenziale del database (SQL Server).For more information, see Create a Differential Database Backup (SQL Server).
  2. Se si utilizza il modello di recupero con registrazione completa, è inoltre necessario eseguire un backup del log delle transazioni.Under the full recovery model, you must also back up the transaction log. Per utilizzare un set completo di backup del file completi per il ripristino di un database, è inoltre necessario disporre di backup dei log relativi a tutti i backup del file, dall'inizio del primo backup del file.To use a complete set of full file backups to restore a database, you must also have enough log backups to span all the file backups, from the start of the first file backup. Per altre informazioni, vedere Eseguire il backup di un log delle transazioni (SQL Server).For more information, see Back Up a Transaction Log (SQL Server).

Esempi (Transact-SQL) Examples (Transact-SQL)

Negli esempi seguenti viene eseguito il backup di uno o più file dei filegroup secondari del database Sales .The following examples back up one or more files of the secondary filegroups of the Sales database. Questo database utilizza il modello di recupero con registrazione completa e contiene i filegroup secondari seguenti:This database uses the full recovery model and contains the following secondary filegroups:

  • Un filegroup denominato SalesGroup1 che include i file SGrp1Fi1 e SGrp1Fi2.A filegroup named SalesGroup1 that has the files SGrp1Fi1 and SGrp1Fi2.

  • Un filegroup denominato SalesGroup2 che include i file SGrp2Fi1 e SGrp2Fi2.A filegroup named SalesGroup2 that has the files SGrp2Fi1 and SGrp2Fi2.

A.A. Creare un backup di due fileCreate a file backup of two files

Nell'esempio seguente viene creato un backup differenziale del file solo per il file SGrp1Fi2 del filegroup SalesGroup1 e per il file SGrp2Fi2 del filegroup SalesGroup2 .The following example creates a differential file backup of only the SGrp1Fi2 file of the SalesGroup1 and the SGrp2Fi2 file of the SalesGroup2 filegroup.

--Backup the files in the SalesGroup1 secondary filegroup.  
BACKUP DATABASE Sales  
   FILE = 'SGrp1Fi2',   
   FILE = 'SGrp2Fi2'   
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';  
GO  

B.B. Creare un backup completo dei filegroup secondariCreate a full file backup of the secondary filegroups

Nell'esempio seguente viene creato un backup completo di ogni file presente in entrambi i filegroup secondari.The following example creates a full file backup of every file in both of the secondary filegroups.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';  
GO  

C.C. Creare un backup differenziale dei filegroup secondariCreate a differential file backup of the secondary filegroups

Nell'esempio seguente viene creato un backup differenziale di ogni file presente in entrambi i filegroup secondari.The following example creates a differential file backup of every file in both of the secondary filegroups.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'  
   WITH   
      DIFFERENTIAL;  
GO  

Utilizzo di PowerShell Using PowerShell

  1. Usare il cmdlet Backup-SqlDatabase e specificare Files per il valore del parametro -BackupAction .Use the Backup-SqlDatabase cmdlet and specify Files for the value of the -BackupAction parameter. Inoltre, specificare uno dei parametri seguenti:Also, specify one of the following parameters:

    • Per eseguire il backup di un determinato file, specificare il parametro -DatabaseFileString , dove String rappresenta uno o più file di database di cui eseguire il backup.To back up a specific file, specify the -DatabaseFileString parameter, where String is one or more database files to be backed up.

    • Per eseguire il backup di tutti i file di un determinato filegroup, specificare il parametro -DatabaseFileGroupString , dove String rappresenta uno o più filegroup di database di cui eseguire il backup.To back up all the files in a given filegroup, specify the -DatabaseFileGroupString parameter, where String is one or more database filegroups to be backed up.

      Nell'esempio seguente viene creato un backup completo di ogni file presente nei filegroup secondari 'FileGroup1' e 'FileGroup2' nel database MyDB .The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the MyDB database. I backup vengono creati nel percorso di backup predefinito dell'istanza del server Computer\Instance.The backups are created on the default backup location of the server instance Computer\Instance.

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

    Impostare e usare il provider PowerShell per SQL ServerSet up and use the SQL Server PowerShell provider

Vedere ancheSee also

Panoramica del backup (SQL Server) Backup Overview (SQL Server)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Informazioni sulla cronologia e sull'intestazione del backup (SQL Server) Backup History and Header Information (SQL Server)
Eseguire il backup di database (pagina Generale) Back Up Database (General Page)
Eseguire il backup di database (pagina Opzioni di backup) Back Up Database (Backup Options Page)
Backup completi del file (SQL Server) Full File Backups (SQL Server)
Backup differenziali (SQL Server) Differential Backups (SQL Server)
Ripristini di file (modello di recupero con registrazione completa) File Restores (Full Recovery Model)
Ripristini di file (modello di recupero con registrazione minima) File Restores (Simple Recovery Model)