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 SQL Server, qui peut résider sur un autre ordinateur local ou sur 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, assurez-vous que vous pouvez vous connecter à un 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 stockage Azure.
Vous avez créé un conteneur sous votre compte de stockage Azure.
Vous avez créé une stratégie sur un conteneur avec des droits en lecture, écriture et création de liste. Vous avez également généré une clé SAS.
Vous avez créé des informations d'identification SQL Server sur l'ordinateur source.
Vous avez déjà créé une destination SQL Server machine virtuelle dans Azure. Nous vous recommandons de la créer en sélectionnant une image de plateforme comprenant SQL Server 2014.
Pour migrer une base de données de SQL Server local vers une autre machine virtuelle dans Azure, vous pouvez effectuer les étapes suivantes :
Dans l'ordinateur source (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';
Si vous devez transférer une base de données vers un ordinateur de destination, vous devez d'abord le préparer. Pour préparer l'ordinateur 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 de l'ordinateur source vers l'ordinateur de destination.
Pour créer des informations d'identification SQL Server sur l'ordinateur de destination, procédez comme suit :
Connectez-vous à l'ordinateur de destination via SQL Server Management Studio sur votre ordinateur source. Sinon, démarrez SQL Server Management Studio directement sur votre ordinateur de destination.
Dans la barre d'outils standard , cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête et modifiez-le si nécessaire. L’instruction suivante crée un SQL Server Credential 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
Pour voir toutes les informations d'identification disponibles, exécutez l'instruction suivante dans la fenêtre de requête :
SELECT * from sys.credentials
Une fois 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
À l'issue de cette étape, l'ordinateur de destination a importé le certificat de chiffrement qui a été sauvegardé depuis l'ordinateur source. Ensuite, joignez les fichiers de données dans l'ordinateur de destination.
Ensuite, créez une base de données avec des fichiers de 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
Dans l'Explorateur d'objets, cliquez avec le bouton droit sur Bases de données, puis cliquez sur Actualiser. La base de données TestDB1onDest nouvellement créée doit s'afficher.
Ensuite, dans la fenêtre de requête, exécutez l'instruction suivante :
USE TestDB1onDest SELECT * FROM Table1; GO
Elle doit répertorier toutes les données 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éplacer de données.
Pour créer une base de données avec des fichiers de données et des fichiers journaux pointant vers les fichiers existants dans stockage Azure à l’aide de SQL Server Management Studio interface utilisateur, procédez comme suit :
Dans l’ Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server et développez-la.
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 cliquez sur Détacher. Dans la fenêtre de dialogue Détacher, cochez Supprimer les connexions. Cliquez sur OK.
Connectez-vous à l'ordinateur de destination, sur lequel SQL Server 2014 CTP2 ou version ultérieure est installé. Pour préparer l'ordinateur de destination, vous devez créer des informations d'identification SQL Server sur l'ordinateur de destination de façon à indiquer le même conteneur que celui qui contient TestDB1. Si vous rattachez dans le même ordinateur, vous n'avez pas besoin de créer d'autres informations d'identification.
Dans Explorateur d'objets, cliquez avec le bouton droit sur Bases de données, puis cliquez sur Attacher.
Dans la boîte de dialogue Attacher des bases de données , pour spécifier la base de données à attacher, cliquez sur Ajouter. Dans la boîte de dialogue Localiser les fichiers de base de données :
Pour Emplacement du fichier de données de base de données, tapez :
https://teststorageaccnt.blob.core.windows.net/testcontainer/
.Pour Nom de fichier, tapez :
TestDB1Data.mdf
.Cliquez sur OK.
Leçon suivante :
Leçon 7 : Déplacer vos fichiers de données dans le Stockage Azure