Lezione 6: Generare attività e backup del log usando il backup di snapshot di fileLesson 6: Generate activity and backup log using file-snapshot backup

In questa lezione viene generata un'attività nel database AdventureWorks2014 e periodicamente vengono eseguiti i backup del log delle transazioni tramite backup di snapshot di file.In this lesson, you will generate activity in the AdventureWorks2014 database and periodically create transaction log backups using file-snapshot backups. Per altre informazioni sui backup di snapshot di file, vedere Backup di snapshot di file per i file di database in Azure.For more information on using file snapshot backups, see File-Snapshot Backups for Database Files in Azure.

Per generare un'attività nel database AdventureWorks2014 e creare periodicamente backup del log delle transazioni tramite backup di snapshot di file, seguire questa procedura:To generate activity in the AdventureWorks2014 database and periodically create transaction log backups using file-snapshot backups, follow these steps:

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

  2. Aprire due nuove finestra di query e connettere ogni finestra all'istanza di SQL Server 2016 del motore di database nella macchina virtuale di Azure.Open two new query windows and connect each to the SQL Server 2016 instance of the database engine in your Azure virtual machine.

  3. Copiare, incollare ed eseguire lo script Transact-SQL seguente in una delle finestre di query.Copy, paste and execute the following Transact-SQL script into one of the query windows. Si noti che, prima di aggiungere nuove righe nel passaggio 4, la tabella Production.Location contiene 14 righe.Notice that the Production.Location table has 14 rows before we add new rows in step 4.

    
    -- Verify row count at start  
    SELECT COUNT (*) from AdventureWorks2014.Production.Location;  
    
  4. Copiare e incollare gli script Transact-SQL seguenti nelle due diverse finestre di query.Copy and paste the following two Transact-SQL scripts into the two separate query windows. Modificare l'URL in modo appropriato per il nome di account di archiviazione e il contenitore specificato nella lezione 1 ed eseguire questi script contemporaneamente in due finestre di query distinte.Modify the URL appropriately for your storage account name and the container that you specified in Lesson 1 and then execute these scripts simultaneously in separate query windows. Dopo 7 minuti circa questi script saranno completi.These scripts will take about seven minutes to complete.

    -- Insert 30,000 new rows into the Production.Location table in the AdventureWorks2014 database in batches of 75  
    DECLARE @count INT=1, @inner INT;  
    WHILE @count < 400  
       BEGIN  
          BEGIN TRAN;  
             SET @inner =1;  
                WHILE @inner <= 75  
                   BEGIN;  
                      INSERT INTO AdventureWorks2014.Production.Location    
                         (Name, CostRate, Availability, ModifiedDate)   
                            VALUES (NEWID(), .5, 5.2, GETDATE());  
                      SET @inner = @inner + 1;  
                   END;  
          COMMIT;  
       WAITFOR DELAY '00:00:01';   
       SET @count = @count + 1;  
       END;  
    SELECT COUNT (*) from AdventureWorks2014.Production.Location;  
    
    --take 7 transaction log backups with FILE_SNAPSHOT, one per minute, and include the row count and the execution time in the backup file name   
    DECLARE @count INT=1, @device NVARCHAR(120), @numrows INT;  
    WHILE @count <= 7  
       BEGIN  
             SET @numrows = (SELECT COUNT (*) FROM AdventureWorks2014.Production.Location);  
             SET @device = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/tutorial-' + CONVERT (varchar(10),@numrows) + '-' + FORMAT(GETDATE(), 'yyyyMMddHHmmss') + '.bak';  
             BACKUP LOG AdventureWorks2014 TO URL = @device WITH FILE_SNAPSHOT;  
             SELECT * from sys.fn_db_backup_file_snapshots ('AdventureWorks2014');  
          WAITFOR DELAY '00:1:00';   
             SET @count = @count + 1;  
       END;  
    
  5. Esaminare l'output del primo script. Si noti che il numero di righe finale è ora 29.939.Review the output of the first script and notice that final row count is now 29,939.

    Visualizzato un numero di righe pari a 29.939Row count of 29,939 is displayed

  6. Esaminare l'output del secondo script. Si noti che ogni volta che si esegue l'istruzione BACKUP LOG vengono creati due nuovi snapshot di file, vale a dire uno snapshot del file di log e uno del file di dati, per un totale di due snapshot per ogni file di database.Review the output of the second script and notice that each time the BACKUP LOG statement is executed that two new file snapshots are created, one file snapshot of the log file and one file snapshot of the data file - for a total of two file snapshots for each database file. Dopo aver completato il secondo script, si noti che gli snapshot di file sono in totale 16, 8 per ogni file di database, uno proveniente dall'istruzione BACKUP DATABASE e uno per ogni esecuzione dell'istruzione BACKUP LOG.After the second script completes, notice that there are now a total of 16 file snapshots, 8 for each database file - one from the BACKUP DATABASE statement and one for each execution of the BACKUP LOG statement.

    riquadro risultati con gli snapshot del file di log e del file di dati quando viene eseguito il backup del logresults pane showing file snapshots of both data and log file when log backup is taken

    quattro snapshot di file visualizzatifour file snapshots are displayed

    riquadro risultati con un totale di 16 snapshot di fileresults pane showing a total of 16 file snapshots

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

  8. Espandere Contenitori, espandere il contenitore creato nella lezione 1, verificare che i 7 nuovi file di backup siano visualizzati nel contenitore con i BLOB delle lezioni precedenti. Se necessario aggiornare il nodo.Expand Containers, expand the container that your created in Lesson 1 and verify that 7 new backup files appear, along with the blobs from the previous lessons (refresh the node as needed).

    Contenitore di Azure con 7 file BLOB di backup del logAzure container showing 7 log backup blobs

Lezione successiva:Next Lesson:

Lezione 7: Eseguire il ripristino temporizzato di un databaseLesson 7: Restore a database to a point in time