Esecuzione del backup del log delle transazioni quando il database è danneggiato (SQL Server)Back Up the Transaction Log When the Database Is Damaged (SQL Server)

In questo argomento viene spiegato come eseguire il backup di un log delle transazioni quando il database è danneggiato in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to back up a transaction log when the database is damaged in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

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.

Indicazioni Recommendations

  • Per un database che utilizza il modello di recupero con registrazione completa o il modello di recupero con registrazione minima delle operazioni bulk, è in genere necessario eseguire il backup della parte finale del log prima di avviare il ripristino del database.For a database that uses either the full or bulk-logged recovery model, you generally need to back up the tail of the log before beginning to restore the database. È inoltre consigliabile eseguire il backup della parte finale del log del database primario prima del failover di una configurazione di log shipping.You also should back up the tail of the log of the primary database before failing over a log shipping configuration. Il ripristino del backup della parte finale del log come backup del log finale prima del recupero del database consente di evitare la perdita di dati in seguito a un errore.Restoring the tail-log backup as the final log backup before recovering the database avoids work loss after a failure. Per altre informazioni sui backup della parte finale del log, vedere Backup della parte finale del log (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

Sicurezza Security

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. must be able to read and write to the device; the account under which the SQL ServerSQL Server 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.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per eseguire il backup della parte finale del log delle transazioniTo back up the tail of the transaction log

  1. Dopo aver stabilito la connessione all'istanza appropriata del MicrosoftMicrosoft Motore di database di SQL ServerSQL Server Database Engine, in Esplora oggetti fare clic sul nome del server per espandere l'albero del server.After connecting to the appropriate instance of the MicrosoftMicrosoft 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 nella casella di riepilogo Database .In the Database list box, verify the database name. È possibile selezionare facoltativamente un database diverso nell'elenco.You can optionally select a different database from the list.

  5. Verificare che il modello di recupero sia impostato su FULL o BULK_LOGGED.Verify that the recovery model is either FULL or BULK_LOGGED.

  6. Nella casella di riepilogo Tipo backup selezionare Log delle transazioni.In the Backup type list box, select Transaction Log.

  7. Lasciare deselezionata l'opzione Copia solo backup .Leave Copy Only Backup deselected.

  8. Nell'area Set di backup , accettare il nome predefinito del set di backup indicato nella casella di testo Nome oppure immettere un nome diverso per il set di backup.In the Backup set area, either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. Nella casella di testo Descrizione immettere una descrizione per il backup della parte finale del log.In the Description text box, enter a description for the tail-log backup.

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

    • Per impostare la scadenza del set di backup dopo un numero di giorni specifico, fare clic su Dopo (opzione predefinita) e immettere il numero di giorni dopo la creazione del set trascorsi i quali il set scadrà.To have the backup set expire after a specific number of days, click After (the default option), and 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 finestra di dialogo, 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 dialog box, 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 containing a single media set, click Add. I percorsi selezionati vengono visualizzati nella casella di riepilogo Backup su .The selected paths are displayed in the Backup to list box.

    Per rimuovere una destinazione di backup, selezionarla e fare clic su Rimuovi.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. Nella pagina Opzioni , selezionare un'opzione Sovrascrivi supporti facendo clic su una delle impostazioni seguenti:On the Options page, 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.

      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 un nome per il set di supporti, il supporto (nastro o disco) verrà controllato per verificare che il nome effettivo corrisponda al nome specificato.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name 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 sulle opzioni dei set di supporti, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).For more information about media set options, see Media Sets, Media Families, and Backup Sets (SQL Server).

  13. Nella sezione Affidabilità selezionare facoltativamente una delle opzioni seguenti:In the Reliability section, optionally, check:

  14. Nella sezione Log delle transazioni selezionare Esegui backup della parte finale del log e lascia il database in stato di ripristino.In the Transaction log section, check Back up the tail of the log, and leave database in the restoring state.

    Questa opzione equivale a specificare l'istruzione BACKUP seguente:This is equivalent to specifying the following BACKUP statement:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Importante

    In fase di ripristino nella finestra di dialogo Ripristina database il tipo di backup della parte finale del log verrà visualizzato come Log delle transazioni (solo copia).At restore time, the Restore Database dialog box displays the type of a tail-log backup as Transaction Log (Copy Only).

  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. Se si seleziona questa opzione, verrà inoltre attivata l'opzione Riavvolgi il nastro prima di scaricarlo .Clicking this option activates the Rewind the tape before unloading option.

  16. SQL Server 2008 Enterprise EditionSQL Server 2008 Enterprise e versioni successive supporta la compressione dei backup. and later supports backup compression. 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

Utilizzo di Transact-SQL Using Transact-SQL

Per creare una copia di backup del log delle transazioni attivoTo create a backup of the currently active transaction log

  1. Eseguire l'istruzione BACKUP LOG per eseguire il backup del log delle transazioni attivo, specificando:Execute the BACKUP LOG statement to back up the currently active transaction log, specifying:

    • Il nome del database a cui appartiene il log delle transazioni di cui si desidera eseguire il backup.The name of the database to which the transaction log to back up belongs.

    • Il dispositivo di backup in cui verrà memorizzato il backup del log delle transazioni.The backup device where the transaction log backup will be written.

    • Clausola NO_TRUNCATE.The NO_TRUNCATE clause.

      Questa clausola consente di eseguire il backup della parte attiva del log delle transazioni anche se non è possibile accedere al database, purché il file del log delle transazioni sia accessibile e non danneggiato.This clause allows the active part of the transaction log to be backed up even if the database is inaccessible, provided that the transaction log file is accessible and undamaged.

Esempio (Transact-SQL) Example (Transact-SQL)

Nota

In questo esempio viene utilizzato AdventureWorks2012AdventureWorks2012che utilizza il modello di recupero con registrazione minima.This example uses the AdventureWorks2012AdventureWorks2012, which uses the simple recovery model. Per consentire i backup del log, prima di eseguire un backup completo del database, il database viene impostato in modo da utilizzare il modello di recupero con registrazione completa.To permit log backups, before taking a full database backup, the database was set to use the full recovery model. Per altre informazioni, vedere Visualizzare o modificare il modello di recupero di un database (SQL Server).For more information, see View or Change the Recovery Model of a Database (SQL Server).

In questo esempio viene eseguito il backup del log della transazione attualmente attivo quando un database è danneggiato e inaccessibile, se il log delle transazioni non è danneggiato ed è accessibile.This example backs up the currently active transaction log when a database is damaged and inaccessible, if the transaction log is undamaged and accessible.

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1  
   WITH NO_TRUNCATE;  
GO  

Vedere ancheSee Also

Ripristinare un backup del log delle transazioni (SQL Server) Restore a Transaction Log Backup (SQL Server)
Ripristinare un database di SQL Server fino a un punto specifico (modello di recupero con registrazione completa) Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Eseguire il backup di database (pagina Opzioni di backup) Back Up Database (Backup Options Page)
Eseguire il backup di database (pagina Generale) Back Up Database (General Page)
Applicare backup del log delle transazioni (SQL Server) Apply Transaction Log Backups (SQL Server)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
Ripristini di file (modello di recupero con registrazione minima) File Restores (Simple Recovery Model)
Ripristini di file (modello di recupero con registrazione completa)File Restores (Full Recovery Model)