Cette page explique comment migrer vos bases de données SQL Server vers une instance Cloud SQL pour SQL Server à l'aide de Database Migration Service.
Le processus de migration implique les tâches suivantes :
Exporter la sauvegarde complète de la base de données et les fichiers journaux des transactions à partir de l'instance SQL Server source.
Vous pouvez également utiliser la sauvegarde différentielle facultative de la base de données dans votre processus de migration.
Importation de vos fichiers de sauvegarde dans un bucket Cloud Storage.
Créez l'instance Cloud SQL pour SQL Server de destination.
Création et exécution du job de migration dans Database Migration Service.
Surveiller la progression du job de migration à l'aide des fonctionnalités d'observabilité de Database Migration Service.
Promotion du travail de migration une fois les données entièrement migrées.
Coûts
Pour les migrations homogènes vers Cloud SQL, Database Migration Service est proposé sans frais supplémentaires. Toutefois, les tarifs de Cloud SQL et Cloud Storage s'appliquent aux frais de réseau, ainsi qu'aux entités Cloud SQL et Cloud Storage créées à des fins de migration.
Dans ce document, vous utilisez les composants facturables suivants deGoogle Cloud :
- Cloud Storage
- Cloud SQL
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Vérifiez si ce chemin de migration peut prendre en charge entièrement votre scénario. Consultez les limitations connues de SQL Server.
- Réfléchissez à la région dans laquelle vous souhaitez créer la base de données de destination. Database Migration Service est un produit entièrement régional. Cela signifie que toutes les entités liées à votre migration (profils de connexion source et de destination, jobs de migration, bases de données de destination, buckets de stockage) doivent être enregistrées dans une seule région.
- Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
- Activez les API Database Migration Service, Compute Engine, Cloud Storage et Cloud SQL Admin.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer des migrations SQL Server homogènes avec Database Migration Service, demandez à votre administrateur d'accorder les rôles IAM requis sur votre projet pour les comptes impliqués dans le processus de migration suivants.
- Compte utilisateur qui effectue la migration :
-
Administrateur de migration de bases de données (
roles/datamigration.admin) -
Administrateur de l'espace de stockage (
roles/storage.admin) -
Éditeur Cloud SQL (
roles/cloudsql.editor)
-
Administrateur de migration de bases de données (
- Compte de service Database Migration Service :
-
Administrateur de migration de bases de données (
roles/datamigration.admin) -
Administrateur de l'espace de stockage (
roles/storage.admin) -
Éditeur Cloud SQL (
roles/cloudsql.editor) -
Utilisateur Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Administrateur de migration de bases de données (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès.
Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations SQL Server homogènes avec Database Migration Service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour effectuer des migrations homogènes de SQL Server avec Database Migration Service :
- Compte utilisateur qui effectue la migration :
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.importcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.list
- Compte de service Database Migration Service :
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSqlstorage.objects.createstorage.objects.list
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Préparer vos données source
Pour préparer vos données sources à la migration, procédez comme suit :
Pensez à votre stratégie de sauvegarde pour le processus de migration. Database Migration Service permet d'utiliser une sauvegarde différentielle et les fichiers journaux de transactions pour migrer les données qui apparaissent dans votre base de données après la sauvegarde complète.
Effectuez une sauvegarde complète de votre base de données SQL Server source. Veillez à utiliser le bon schéma de dénomination.
Préparez un bucket Cloud Storage et importez-y vos fichiers de sauvegarde. Assurez-vous de configurer la structure de répertoire nécessaire pour chaque type de fichier de sauvegarde que vous souhaitez utiliser.
Créez un profil de connexion source pour le bucket Cloud Storage.
Préparer votre instance Cloud SQL pour SQL Server de destination
Pour configurer votre instance Cloud SQL de destination, procédez comme suit :
Créez et configurez votre instance Cloud SQL pour SQL Server de destination. Assurez-vous d'utiliser suffisamment de ressources de calcul et de mémoire pour couvrir vos besoins de migration, et attribuez le rôle Administrateur de l'espace de stockage (
roles/storage.admin) au compte de service de l'instance.Créez un profil de connexion de destination pour votre instance Cloud SQL.
Créer et exécuter le job de migration
Pour configurer et exécuter votre migration, procédez comme suit :
Créez et exécutez le job de migration.
Lorsque vous lancez le job de migration, vos bases de données Cloud SQL for SQL Server de destination sont placées en mode récupération, où elles sont entièrement gérées par Database Migration Service. Vous pouvez promouvoir votre instance de destination une fois vos données entièrement migrées. Une fois votre instance de destination promue, toutes les bases de données de cette instance deviennent entièrement opérationnelles. Vous bénéficiez également d'un accès complet en écriture à ces bases de données.
Vous pouvez surveiller la progression de la migration, ainsi que l'état de votre instance de destination grâce aux fonctionnalités d'observabilité de Database Migration Service. Consultez Métriques des tâches de migration.
Continuez à importer de nouveaux fichiers de sauvegarde du journal des transactions dans le bucket Cloud Storage.
Pour couvrir les données qui apparaissent dans votre base de données source après l'exportation de la sauvegarde complète, exportez les fichiers de sauvegarde du journal des transactions et importez-les dans le bucket de stockage. Database Migration Service détecte automatiquement les nouveaux fichiers, lit leur contenu et transfère les données vers votre instance de destination. Consultez Automatiser l'exportation des journaux de transactions.
Finaliser la migration
Lorsque vous décidez de migrer votre application vers la nouvelle instance Cloud SQL pour SQL Server, finalisez la migration en procédant comme suit :
- Arrêtez toutes les opérations d'écriture sur vos bases de données sources. Vous pouvez les passer en mode lecture seule pour conserver leur fonctionnalité opérationnelle.
- Prenez la dernière sauvegarde du journal des transactions, importez le fichier dans votre bucket de stockage et arrêtez la phase de chargement incrémental dans Database Migration Service.
Pour ce faire, vous pouvez effectuer l'une des actions suivantes :
- Arrêtez l' importation automatique de vos fichiers de sauvegarde ou importez le dernier fichier journal des transactions. Surveillez la taille des sauvegardes du journal des transactions non traitées pour déterminer quand Database Migration Service a fini de traiter ce fichier.
- Vous pouvez éventuellement importer un fichier journal des transactions dont le nom se termine par le suffixe
.trn.final. Database Migration Service arrête les chargements continus lorsqu'il détecte un fichier de sauvegarde dont le nom correspond à la convention de suffixe.trn.final.Lorsque Database Migration Service a terminé de traiter ce fichier, l'état du job de migration passe à Prêt à être promu.
- Promouvoir le job de migration.
- (Facultatif) Vérifiez que les données de migration sont complètes.