Cette page explique comment modifier des schémas dans Cloud Data Fusion lorsque vous répliquez des données à partir d'une base de données Microsoft SQL Server vers une table BigQuery. Pour vous assurer que le job de réplication continue de répliquer les données d'une source SQL Server après la modification du schéma, procédez comme suit :
Modifier le schéma
Accédez à votre instance :
Dans la console Google Cloud, accédez à la page Cloud Data Fusion.
Pour ouvrir l'instance dans Cloud Data Fusion Studio, cliquez sur Instances, puis sur Afficher l'instance.
Dans l'interface Web de Cloud Data Fusion, cliquez sur Réplication.
Arrêtez la tâche de réplication.
Appliquez une modification de schéma acceptée à la table source, par exemple Ajouter une colonne nullable.
Créez une table de capture à l'aide de la procédure
sys.sp_cdc_enable_table
avec une valeur unique pour le paramètre@capture_instance
.Appliquez la même modification de schéma à la table cible dans BigQuery.
Redémarrez la tâche de réplication.
Facultatif: lorsque la tâche commence à diffuser les nouvelles modifications qui se produisent après l'arrêt de la tâche, vous pouvez supprimer l'ancienne table de capture à l'aide de la procédure stockée
sys.sp_cdc_disable_table
. Définissez le paramètre@capture_instance
sur l'ancien nom de l'instance de capture.
Une fois que vous avez appliqué une modification de schéma à la table source et avant de créer une table de capture (comme vous l'avez fait aux étapes précédentes), toutes les modifications sont capturées par l'ancienne capture avec l'ancien schéma. Si vous avez ajouté une colonne, aucun événement de modification pendant cette période ne contient de données pour la nouvelle colonne. Si votre application ne peut pas gérer une telle transition, procédez comme suit:
Suspendez toutes les applications générant des enregistrements de base de données.
Assurez-vous que la tâche de réplication a traité tous les événements existants.
Arrêtez la tâche de réplication.
Appliquez la modification de schéma à la table source, par exemple Ajouter une colonne nullable.
Créez une table de capture à l'aide de la procédure
sys.sp_cdc_enable_table
avec une valeur unique pour le paramètre@capture_instance
.Réactivez les applications que vous avez suspendues à l'étape 1.
Appliquez la même modification de schéma à la table cible dans BigQuery.
Redémarrez la tâche de réplication.
Facultatif: lorsque la tâche commence à diffuser les nouvelles modifications qui se produisent après avoir créé la table de capture dans l'étape précédente, vous pouvez supprimer l'ancienne table de capture à l'aide de la procédure stockée
sys.sp_cdc_disable_table
. Définissez le paramètre@capture_instance
sur l'ancien nom de l'instance de capture.
Étape suivante
- En savoir plus sur la réplication
- Consultez les modifications de schéma acceptées.
- Consultez la documentation de l'API Replication.