Condividi tramite


Lezione 6: Eseguire la migrazione di un database da un computer di origine locale a un computer di destinazione in Azure

Questa lezione presuppone che si disponga già di un altro SQL Server, che potrebbe risiedere in un altro computer locale o in una macchina virtuale in Azure. Per informazioni su come creare una macchina virtuale di SQL Server in Azure, vedere Provisioning di una macchina virtuale di SQL Server in Azure. Dopo il provisioning di una macchina virtuale di SQL Server in Azure, assicurati di poter connetterti a un'istanza di SQL Server su questa macchina virtuale tramite SQL Server Management Studio su un altro computer.

Questa lezione presuppone anche che siano già stati completati i passaggi seguenti:

  • È disponibile un account di archiviazione di Azure.

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

  • Hai creato una politica su un contenitore con diritti di lettura, scrittura e elenco. È stata generata anche una chiave SAS.

  • È stata creata una credenziale di SQL Server nel computer di origine.

  • È già stata creata una macchina virtuale di SQL Server di destinazione in Azure. È consigliabile crearla selezionando un'immagine della piattaforma che include SQL Server 2014.

Per eseguire la migrazione di un database da SQL Server locale a un'altra macchina virtuale in Azure, è possibile seguire questa procedura:

  1. Nel computer di origine ,ovvero un computer locale in questa esercitazione, aprire una finestra di query in SQL Server Management Studio. Scollegare il database per spostarlo in un altro computer eseguendo queste istruzioni:

    -- Detach the database in the source machine   
    USE master  
    EXEC sp_detach_db 'TestDB1', 'true';  
    
  2. Se è necessario trasferire un database in un computer di destinazione, è prima necessario prepararlo. Per preparare il computer di destinazione, è prima necessario creare credenziali di SQL Server nel computer di destinazione. Se si tratta di un database crittografato, è necessario importare anche il certificato dal computer di origine nel computer di destinazione.

    1. Per creare una credenziale di SQL Server nel computer di destinazione, seguire questa procedura:

      1. Connettersi al computer di destinazione tramite SQL Server Management Studio nel computer di origine. In alternativa, avviare SQL Server Management Studio direttamente nel computer di destinazione.

      2. Sulla barra degli strumenti Standard fare clic su Nuova query.

      3. Copiare e incollare l'esempio seguente nella finestra di query, modificare in base alle esigenze. L'istruzione seguente crea una credenziale di SQL Server per archiviare il certificato di accesso condiviso del contenitore di archiviazione.

        
        USE master   
        GO   
        CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer]   
        WITH IDENTITY='SHARED ACCESS SIGNATURE',   
        SECRET = 'your SAS key'   
        GO  
        
        
      4. Per visualizzare tutte le credenziali disponibili, è possibile eseguire l'istruzione seguente nella finestra di query:

        SELECT * from sys.credentials   
        
      5. Quando si è connessi al server di destinazione, aprire la finestra di query ed eseguire:

        
        -- Create a master key and a server certificate   
        USE master   
        GO   
        CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01'; -- You may use a different password.   
        GO   
        CREATE CERTIFICATE MySQLCert   
        FROM FILE = 'C:\certs\MySQLCert.CER'   
        WITH PRIVATE KEY   
        (   
        FILE = 'C:\certs\MySQLPrivateKeyFile.PVK',   
        DECRYPTION BY PASSWORD = 'MySQLKey01'   
        );   
        GO  
        
        

        Al termine di questo passaggio, il computer di destinazione ha importato il certificato di crittografia di cui è stato eseguito il backup dal computer di origine. Successivamente, è possibile allegare i file di dati nel computer di destinazione.

    2. Creare quindi un database con file di dati e di log che puntano ai file esistenti in Archiviazione di Azure usando l'opzione FOR ATTACH. Nella finestra di query eseguire l'istruzione seguente:

      
      --Create a database on the destination server   
      CREATE DATABASE TestDB1onDest   
      ON   
      (NAME = TestDB1_data,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Data.mdf' )   
      LOG ON   
       (NAME = TestDB1_log,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Log.ldf')   
      FOR ATTACH   
      GO  
      
      
    3. In Esplora oggetti fare clic su Database, fare clic con il pulsante destro del mouse su Aggiorna. Dovresti riuscire a vedere nell'elenco il database appena creato TestDB1onDest.

    4. Eseguire quindi l'istruzione seguente nella finestra di query:

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      Verranno elencati tutti i dati immessi nella lezione 4.

Si noti che il database crittografato è stato trasferito a un'altra istanza di calcolo senza spostamento dei dati.

Per creare un database con file di dati e di log che puntano ai file esistenti in Archiviazione di Azure usando l'interfaccia utente di SQL Server Management Studio, seguire questa procedura:

  1. In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Fare clic con il pulsante destro del mouse su Database, quindi scegliere Nuovo database. Fare quindi clic con il pulsante destro del mouse su TestDB1. Fare clic su Attività e quindi su Scollega. Nella finestra di dialogo Scollega selezionare Rilascia connessioni. Fare clic su OK.

  3. Connettersi al computer di destinazione con SQL Server 2014 CTP2 o versione successiva. Per preparare il computer di destinazione, è necessario creare una credenziale di SQL Server nel computer di destinazione in modo che punti allo stesso contenitore in cui si inserisce TestDB1. Se si intende ricollegare nello stesso computer, non è necessario creare un'altra credenziale.

  4. In Esplora oggetti fare clic con il pulsante destro del mouse su Database e scegliere Collega.

  5. Nella finestra di dialogo Collega database fare clic su Aggiungi per specificare il database da collegare. Nella finestra di dialogo Individua file di database :

    Per Percorso del file dati del database digitare: https://teststorageaccnt.blob.core.windows.net/testcontainer/.

    Digitare per nome file: TestDB1Data.mdf.

  6. Fare clic su OK.

    SQL 14 CTP2

Lezione successiva:

Lezione 7: Spostare i file di dati in Archiviazione di Azure