Cette page explique comment migrer vos bases de données Cloud SQL pour SQL Server vers une instance Cloud SQL pour SQL Server à l'aide de Database Migration Service. Ce flux de migration, vous permet de déplacer vos bases de données vers une autre instance Cloud SQL pour SQL Server dans le même projet, ou dans un autre, Google Cloud . Pour savoir comment migrer des sources autogérées ou Amazon RDS, consultez le Guide de migration pour les sources auto-hébergées et Amazon RDS.
Le processus de migration pour les sources Cloud SQL pour SQL Server comprend les tâches suivantes :
Configuration de votre instance Cloud SQL pour SQL Server source afin que Database Migration Service puisse exporter automatiquement les fichiers de sauvegarde vers un bucket Cloud Storage.
Création d'un profil de connexion source avec Google Cloud CLI.
Création de l'instance Cloud SQL pour SQL Server de destination.
Création et exécution du job de migration dans Database Migration Service avec Google Cloud CLI.
Surveillance de la progression du job de migration à l'aide des fonctionnalités d'observabilité de Database Migration Service.
Promotion du job 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 de 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 de Google 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 est entièrement compatible avec votre scénario. Consultez la section Limitations connues de SQL Server.
- Déterminez 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, ce qui 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 Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.
- 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 homogènes entre deux instances Cloud SQL pour SQL Server avec Database Migration Service, demandez à votre administrateur d'attribuer les rôles IAM requis aux comptes impliqués dans le processus de migration dans les projets concernés.
Ce scénario vous permet de migrer entre deux instances Cloud SQL pour SQL Server qui résident dans des projets différents Google Cloud . Si vous souhaitez migrer entre des instances du même projet, accordez toutes les autorisations dans le même projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Rôles et autorisations dans le projet source
Attribuez les rôles suivants à des comptes spécifiques dans le Google Cloud projet où réside votre source instance Cloud SQL pour SQL Server :
- Compte utilisateur qui effectue la migration :
-
Administrateur Storage (
roles/storage.admin) -
Éditeur Cloud SQL (
roles/cloudsql.editor)
-
Administrateur Storage (
- Compte de service Database Migration Service du projet d'instance de destination :
-
Lecteur Cloud SQL (
roles/cloudsql.viewer) -
Utilisateur Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Lecteur Cloud SQL (
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 (projet source) :
Autorisations requises (projet source)
Les autorisations suivantes sont requises pour effectuer des migrations SQL Server migrations homogènes avec Database Migration Service :
- Compte utilisateur qui effectue la migration :
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
- Projet de destination Compte de service Database Migration Service :
cloudsql.instances.exportcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSql
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Rôles et autorisations dans le projet de destination
Attribuez les rôles suivants à des comptes spécifiques dans le Google Cloud projet où réside votre instance Cloud SQL pour SQL Server de destination :
- Compte utilisateur qui effectue la migration :
-
Administrateur de migration de bases de données (
roles/datamigration.admin) -
Administrateur Storage (
roles/storage.admin) -
Éditeur Cloud SQL (
roles/cloudsql.editor)
-
Administrateur de migration de bases de données (
- Compte de service Database Migration Service du projet d'instance de destination :
-
Administrateur de migration de bases de données (
roles/datamigration.admin) -
Éditeur Cloud SQL (
roles/cloudsql.editor) -
Utilisateur Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Administrateur de migration de bases de données (
- Compte de service Cloud SQL associé à l'instance source :
Utilisateur d'objet Storage (
roles/storage.objectUser)Cette autorisation est requise pour permettre à votre instance Cloud SQL pour SQL Server source d'enregistrer les fichiers de sauvegarde exportés dans le bucket Cloud Storage que vous créez dans le projet de destination.
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 (projet de destination) :
Autorisations requises (projet de destination)
Les autorisations suivantes sont requises pour effectuer des migrations SQL Server migrations homogènes 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
- Compte de service Cloud SQL associé à l'instance source :
storage.objects.createstorage.objects.liststorage.objects.get
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Préparer votre instance Cloud SQL source
Créez un bucket Cloud Storage dans le projet de destination Google Cloud . Ce bucket est utilisé pour stocker les fichiers journaux de sauvegarde exportés à partir de votre instance Cloud SQL pour SQL Server source.
- Nous vous recommandons de configurer la période de conservation des données entre
14et30jours pour ces fichiers de sauvegarde. - Le compte de service Cloud SQL associé à votre source
instance doit disposer du
rôle IAM Utilisateur d'objet Storage (
roles/storage.objectUser) pour écrire les fichiers de sauvegarde dans ce bucket. Pour en savoir plus sur les autorisations de ce flux de migration, consultez la section Rôles requis.
- Nous vous recommandons de configurer la période de conservation des données entre
Créez un profil de connexion source pour l'instance source Cloud SQL pour SQL Server.
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 répondre à vos besoins de migration.
Créez un profil de connexion de destination pour votre instance Cloud SQL.
Créer et exécuter le job de migration
Lorsque vous démarrez le job de migration, vos bases de données Cloud SQL pour SQL Server de destination sont mises en mode de 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.
Finaliser la migration
Lorsque vous décidez de passer votre application à 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 les fonctionnalités opérationnelles.
- Promouvoir le job de migration.
- (Facultatif) Vérifiez que les données de migration sont complètes.