Lezione 8.Lesson 8. Ripristinare come nuovo database dal backup del logRestore as new database from log backup

In questa lezione il database AdventureWorks2014 verrà ripristinato come nuovo database dal backup del log delle transazioni dello snapshot di file.In this lesson, you will restore the AdventureWorks2014 database as a new database from a file-snapshot transaction log backup.

In questo scenario viene eseguito un ripristino in un'istanza di SQL Server in una macchina virtuale diversa per l'analisi business e la creazione di report.In this scenario, you are performing a restore to a SQL Server instance on a different virtual machine for the purposes of business analysis and reporting. Il ripristino in un'altra istanza in una macchina virtuale diversa ripartisce il carico di lavoro su una macchina virtuale dedicata con dimensioni adatte allo scopo eliminando le richieste di risorse dal sistema transazionale.Restoring to a different instance on a different virtual machine offloads the workload to a virtual machine dedicated and sized for this purpose, removing its resource requirements from the transactional system.

Il ripristino da un backup del log delle transazioni con backup di snapshot di file è un'operazione rapida, molto più veloce dei backup di flusso tradizionali.Restore from a transaction log backup with file-snapshot backup is very quick, substantially quicker than with traditional streaming backups. Con i backup di flusso tradizionali, è necessario usare il backup di database completo, probabilmente un backup differenziale e alcuni o tutti i backup del log delle transazioni oppure un nuovo backup di database completo.With traditional streaming backups, you would need to use the full database backup, perhaps a differential backup, and some or all of the transaction log backups (or a new full database backup). Con i backup del log dello snapshot di file, invece, è necessario solo il backup del log più recente oppure qualsiasi altro backup del log o due backup del log adiacenti per il ripristino temporizzato in un momento tra due orari di backup del log.However, with file-snapshot log backups, you only need the most recent log backup (or any other log backup or any two adjacent log backups for point in time restore to a point between two log backup times). Per maggiore chiarezza, è necessario un solo set di backup di snapshot di file di log poiché ogni backup del log di snapshot di file crea uno snapshot di ogni file del database (file di dati e file di log).To be clear, you only need one log file-snapshot backup set because each file-snapshot log backup creates a file snapshot of each database file (each data file and the log file).

Per ripristinare un database in un nuovo database da un backup del log delle transazioni usando il backup di snapshot di file, eseguire i passaggi seguenti:To restore a database to a new database from a transaction log backup using file snapshot backup, follow these steps:

  1. Connettersi a SQL Server Management Studio.Connect to SQL Server Management Studio.

  2. Aprire una nuova finestra di query e connettersi all'istanza di SQL Server 2016 del motore di database in una macchina virtuale di Azure.Open a new query window and connect to the SQL Server 2016 instance of the database engine in an Azure virtual machine.

    Nota

    Se si tratta di una macchina virtuale di Azure diversa da quella usata per le lezioni precedenti, assicurarsi di aver eseguito i passaggi descritti in Lezione 2: Creare una credenziale di SQL Server usando una firma di accesso condiviso.If this is a different Azure virtual machine than you have been using for the previous lessons, make sure you have followed the steps in Lesson 2: Create a SQL Server credential using a shared access signature. Per eseguire il ripristino in un contenitore diverso, seguire i passaggi descritti in Lezione 1: Creare i criteri di accesso archiviati e una firma di accesso condiviso in un contenitore di Azure e Lezione 2: Creare una credenziale di SQL Server usando una firma di accesso condiviso per il nuovo contenitore.If you wish to restore to a different container, follow the steps in Lesson 1: Create a stored access policy and a shared access signature on an Azure container and Lesson 2: Create a SQL Server credential using a shared access signature for the new container.

  3. Copiare e incollare lo script Transact-SQL seguente nella finestra della query.Copy and paste the following Transact-SQL script into the query window. Selezionare il file di backup del log che si vuole usare.Select the log backup file you wish to use. Modificare l'URL in modo appropriato per il nome di account di archiviazione e il contenitore specificato nella lezione 1, specificare il nome di file di backup del log e quindi eseguire questo script.Modify the URL appropriately for your storage account name and the container that you specified in Lesson 1, provide the log backup file name and then execute this script.

    
    -- restore as a new database from a transaction log backup file  
    RESTORE DATABASE AdventureWorks2014_EOM   
        FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<logbackupfile.bak'    
        WITH MOVE 'AdventureWorks2014_data' to 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/AdventureWorks2014_EOM_Data.mdf'  
       , MOVE 'AdventureWorks2014_log' to 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/AdventureWorks2014_EOM_Log.ldf'  
       , RECOVERY  
    --, REPLACE  
    
  4. Rivedere l'output per verificare il completamento del ripristino.Review the output to verify the restore was successful.

  5. In Esplora oggetti connettersi all'archiviazione di Azure.In Object Explorer, connect to Azure storage.

  6. Espandere Contenitori, espandere il contenitore creato nella lezione 1, aggiornare se necessario e verificare che i nuovi file di dati e di log siano visualizzati nel contenitore con i BLOB delle lezioni precedenti.Expand Containers, expand the container that your created in Lesson 1 (refresh if necessary) and verify that the new data and log files appear in the container, along with the blobs from the previous lessons.

    Contenitore di Azure con file di log e di dati per il nuovo databaseAzure container showing the data and log files for the new database

Lezione 9: Gestire set di backup e backup di snapshot di fileLesson 9: Manage backup sets and file-snapshot backups