Partager via


Leçon 6 : Migrer une base de données d’une machine source locale vers une machine de destination dans Azure

Cette leçon suppose que vous disposez déjà d’un autre serveur SQL Server, qui peut résider dans un autre ordinateur local ou dans une machine virtuelle dans Azure. Pour plus d’informations sur la création d’une machine virtuelle SQL Server dans Azure, consultez Provisionnement d’une machine virtuelle SQL Server sur Azure. Après avoir approvisionné une machine virtuelle SQL Server dans Azure, vérifiez que vous pouvez vous connecter à une instance de SQL Server dans cette machine virtuelle via SQL Server Management Studio sur un autre ordinateur.

Cette leçon suppose également que vous avez déjà effectué les étapes suivantes :

  • Vous disposez d’un compte de stockage Azure.

  • Vous avez créé un conteneur sous votre compte stockage Azure.

  • Vous avez créé une stratégie sur un conteneur avec des droits de lecture, d’écriture et de liste. Vous avez également généré une clé SAP.

  • Vous avez créé des informations d’identification SQL Server sur l’ordinateur source.

  • Vous avez déjà créé une machine virtuelle SQL Server de destination dans Azure. Nous vous recommandons de le créer en sélectionnant une image de plateforme qui inclut SQL Server 2014.

Pour migrer une base de données de SQL Server localement vers une autre machine virtuelle dans Azure, vous pouvez effectuer les étapes suivantes :

  1. Sur la machine source (qui est un ordinateur local dans ce didacticiel), ouvrez une fenêtre de requête dans SQL Server Management Studio. Détachez votre base de données pour la déplacer vers un autre ordinateur en exécutant ces instructions :

    -- Detach the database in the source machine   
    USE master  
    EXEC sp_detach_db 'TestDB1', 'true';  
    
  2. Si vous devez transférer une base de données vers une machine de destination, vous devez d’abord la préparer. Pour préparer votre machine de destination, vous devez d’abord créer des informations d’identification SQL Server sur l’ordinateur de destination. S’il s’agit d’une base de données chiffrée, vous devez également importer le certificat à partir de l’ordinateur source vers l’ordinateur de destination.

    1. Pour créer des informations d’identification SQL Server sur l’ordinateur de destination, procédez comme suit :

      1. Connectez-vous à la machine de destination via SQL Server Management Studio dans votre ordinateur source. Vous pouvez également démarrer SQL Server Management Studio directement sur votre ordinateur de destination.

      2. Dans la barre d’outils Standard, cliquez sur Nouvelle requête.

      3. Copiez et collez l’exemple suivant dans la fenêtre de requête, modifiez si nécessaire. L’instruction suivante crée des informations d’identification SQL Server pour stocker le certificat d’accès partagé de votre conteneur de stockage.

        
        USE master   
        GO   
        CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer]   
        WITH IDENTITY='SHARED ACCESS SIGNATURE',   
        SECRET = 'your SAS key'   
        GO  
        
        
      4. Pour afficher toutes les informations d’identification disponibles, vous pouvez exécuter l’instruction suivante dans la fenêtre de requête :

        SELECT * from sys.credentials   
        
      5. Quand vous êtes connecté au serveur de destination, ouvrez la fenêtre de requête et exécutez :

        
        -- 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  
        
        

        À la fin de cette étape, l’ordinateur de destination a importé le certificat de chiffrement sauvegardé à partir de l’ordinateur source. Ensuite, vous pouvez joindre les fichiers de données dans l’ordinateur de destination.

    2. Ensuite, créez une base de données avec des données et des fichiers journaux pointant vers les fichiers existants dans Stockage Azure à l’aide de l’option FOR ATTACH. Dans la fenêtre de requête, exécutez l’instruction suivante :

      
      --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. Dans l’Explorateur d’objets, cliquez sur Bases de données, cliquez avec le bouton droit sur Actualiser. Vous devriez voir la base de données nouvellement créée TestDB1onDest apparaître dans la liste.

    4. Ensuite, exécutez l’instruction suivante dans la fenêtre de requête :

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      Cette opération doit répertorier toutes les données que vous avez entrées dans la leçon 4.

Notez que la base de données chiffrée a été transférée vers une autre instance de calcul sans déplacement de données.

Pour créer une base de données avec des données et des fichiers journaux pointant vers les fichiers existants dans stockage Azure à l’aide de l’interface utilisateur SQL Server Management Studio, procédez comme suit :

  1. Dans l’ Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server et développez-la.

  2. Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Nouvelle base de données. Ensuite, cliquez avec le bouton droit sur TestDB1. Cliquez sur Tâches, puis sur Détacher. Dans la boîte de dialogue Détacher, cochez Supprimer les connexions. Cliquez sur OK.

  3. Connectez-vous à l’ordinateur de destination, avec SQL Server 2014 CTP2 ou version ultérieure. Pour préparer votre machine de destination, vous devez créer des informations d’identification SQL Server dans l’ordinateur de destination pour pointer vers le même conteneur que celui dans lequel vous placez TestDB1. Si vous souhaitez re-attacher dans le même ordinateur, vous n’avez pas besoin de créer d’autres informations d’identification.

  4. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur Bases de données , puis cliquez sur Attacher.

  5. Dans la boîte de dialogue Attacher des bases de données , pour spécifier la base de données à joindre, cliquez sur Ajouter. Dans la boîte de dialogue Localiser les fichiers de base de données :

    Pour l’emplacement du fichier de données de base de données, tapez : https://teststorageaccnt.blob.core.windows.net/testcontainer/.

    Pour le nom de fichier, tapez : TestDB1Data.mdf.

  6. Cliquez sur OK.

    SQL 14 CTP2

Leçon suivante :

Leçon 7 : Déplacer vos fichiers de données vers stockage Azure