Condividi tramite


Lezione 9: Ripristinare un database da Archiviazione di Azure

In questa lezione si apprenderà come ripristinare un file di backup del database da Archiviazione di Azure a un database, che risiede in locale o in una macchina virtuale in Azure. È possibile seguire questa lezione anche senza aver completato le lezioni 4, 5, 6, 7 e 8.

Per questa lezione si presuppone che l'utente abbia già completato i passaggi seguenti:

  • È stato creato un database nel computer di origine.

  • È stato creato un backup del database (con estensione bak) in Archiviazione di Azure usando la funzionalità backup e ripristino di SQL Server con Archiviazione BLOB di Azure Servizio. Si noti che è necessario creare un'altra credenziale di SQL Server durante questo passaggio. La credenziale usano le chiavi di account di archiviazione.

  • Si dispone di un account di archiviazione di Azure.

  • È stato creato un contenitore nell'account di archiviazione di Azure.

  • Creazione dei criteri in un contenitore con diritti di lettura, scrittura ed elenco. Generazione di una chiave SAS.

  • È stata creata una credenziale SQL Server nel computer per la funzionalità di integrazione archiviazione di Azure. Si noti che la credenziale richiede una chiave della la firma di accesso condiviso.

Per ripristinare un database da Archiviazione di Azure, è possibile seguire questa procedura:

  1. Avviare SQL Server Management Studio. Connettersi all'istanza predefinita.

  2. Fare clic su Nuova query sulla barra degli strumenti standard.

  3. Copiare e incollare il seguente script completo nella finestra Query. Modificare lo script in base alle esigenze.

    Nota: Eseguire l'istruzione RESTORE per ripristinare il backup del database (con estensione bak) in Archiviazione di Azure in un'istanza di database in un altro computer.

    
    USE master   
    GO   
    -- Create a new database to be backed up.   
    CREATE DATABASE TestDbRestoreFrom;   
    GO   
    USE TestDbRestoreFrom;   
    GO   
    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));   
    GO   
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');   
    GO   
    USE TestDbRestoreFrom;   
    GO   
    SELECT * from dbo.Table1;   
    GO   
    -- Create a credential to be used by SQL Server Backup and Restore with Azure -----Blob Storage Service.   
    USE master;   
    GO   
    CREATE CREDENTIAL BackupCredential    
    WITH IDENTITY= 'teststorageaccnt',   
    SECRET = 'BO1nH/lWRdnc8TGPlQIXmGLWVCoEa48suYSGiAlC73+S0TX5VXo5/LCm8qiyGCYafDg4ZsueDIV3GQ5RXHaRGw=='    
    GO   
    -- Display the newly created credential   
    SELECT * from sys.credentials   
    -- Create a backup in Azure Storage.   
    BACKUP DATABASE TestDBRestoreFrom    
    TO URL = 'https://teststorageaccnt.blob.core.windows.net/testrestorefrom/TestDBRestoreFrom.bak'    
          WITH CREDENTIAL = 'BackupCredential'    
         ,COMPRESSION   
         ,STATS = 5;   
    GO    
    -- Create a Shared Access Signature credential   
    CREATE CREDENTIAL [https://teststorageaccnt.blob.core.windows.net/testrestorefrom]   
    WITH IDENTITY='SHARED ACCESS SIGNATURE',   
    SECRET = 'sv=2012-02-12&sr=c&si=policy_resfrom&sig=EhVpzLUXjG4ThAMLmVhrnoiCt8IfmD3BsuYiMawGzxc%3D'   
    GO   
    USE master;   
    GO   
    RESTORE DATABASE TestDBRestoreFrom    
    FROM URL = 'https://teststorageaccnt.blob.core.windows.net/testrestorefrom/TestDBRestoreFrom.bak'    
    WITH    
    CREDENTIAL = 'BackupCredential',    
    REPLACE,   
    MOVE 'TestDBRestoreFrom' TO 'C:\Backup\TestDBRestoreFrom.mdf',     
    MOVE 'TestDBRestoreFrom_log' TO 'C:\Backup\TestDBRestoreFrom_log.ldf';   
    GO  
    
    

Fine dell'esercitazione: SQL Server file di dati nel servizio Archiviazione di Azure