Comment : synchroniser des données de base de données
Mise à jour : novembre 2007
Après avoir comparé les données dans deux bases de données, vous pouvez les synchroniser en mettant à jour une partie ou l'ensemble de la cible afin qu'elle corresponde à la source. Vous pouvez comparer les données de deux types d'objets de base de données : les tables et les vues.
Synchroniser les données de base de données
Pour mettre à jour les données cibles à l'aide de la commande Écrire les mises à jour
Comparez les données dans deux bases de données. Pour plus d'informations, consultez Comment : comparer les données de deux bases de données.
Une fois la comparaison terminée, la fenêtre Comparaison de données répertorie les résultats des objets comparés. Quatre colonnes, nommées Enregistrements différents, Uniquement dans la source, Uniquement dans la cible et Enregistrements identiques, affichent des informations sur les objets qui n'étaient pas identiques. Pour chaque objet de ce type, ces colonnes affichent le nombre d'enregistrements différents trouvés ainsi que le nombre d'enregistrements modifiés par une opération de mise à jour. Ces deux nombres correspondent tout d'abord, mais vous pouvez modifier les objets à mettre à jour à l'étape 4.
Pour plus d'informations, consultez Vue d'ensemble de la comparaison des données de bases de données.
Dans la table de la fenêtre Comparaison de données, cliquez sur une ligne.
Le volet d'informations affiche les résultats pour les enregistrements de l'objet de base de données sur lequel vous avez cliqué. Les enregistrements sont groupés par état sous des onglets que vous pouvez utiliser pour spécifier les données à propager de la source vers la cible.
Dans le volet d'informations, cliquez sur un onglet dont le nom contient un nombre autre que zéro (0).
La colonne Mettre à jour de la table Uniquement dans la cible contient des cases à cocher que vous pouvez utiliser pour sélectionner des lignes. Par défaut, chaque case à cocher est activée.
Désactivez les cases à cocher pour les enregistrements dans la cible que vous ne souhaitez pas mettre à jour avec les données de la source.
Lorsque vous désactivez une case à cocher, vous réduisez le nombre d'enregistrements à mettre à jour, et l'affichage change pour refléter vos actions. Ce nombre apparaît dans la ligne d'état du volet d'informations et dans la colonne correspondante du volet de résultats principal, comme décrit à l'étape 1.
(Facultatif) Cliquez sur Exporter vers l'éditeur.
Une fenêtre de l'éditeur Transact-SQL (T-SQL) s'ouvre et affiche le script DML (Data Manipulation Language) à utiliser pour mettre à jour la cible.
Pour synchroniser des enregistrements qui sont différents, manquants ou nouveaux, cliquez sur Écrire les mises à jour.
Remarque : Pendant que la base de données cible est mise à jour, vous pouvez annuler l'opération en cliquant sur Arrêter l'écriture dans la cible.
Les données des enregistrements sélectionnés dans la cible sont mises à jour avec les données des enregistrements correspondants dans la source.
Remarque : Si vous décidez de mettre à jour les vues indexées, l'opération Écrire les mises à jour peut échouer si cette action provoque l'insertion de clés en double dans la même table.
Pour mettre à jour les données cibles à l'aide d'un script T-SQL
Comparez les données dans deux bases de données. Pour plus d'informations, consultez Comment : comparer les données de deux bases de données.
Une fois la comparaison terminée, une table de la fenêtre Comparaison de données répertorie les objets comparés. Pour plus d'informations, consultez Vue d'ensemble de la comparaison des données de bases de données.
(Facultatif) Dans le volet d'informations, désactivez les cases à cocher correspondant aux enregistrements de la cible que vous ne voulez pas mettre à jour, comme décrit dans la procédure précédente.
Cliquez sur Exporter vers l'éditeur.
Une nouvelle fenêtre affiche le script T-SQL qui propage les modifications nécessaires pour que les données de la cible correspondent à celles de la source. Un nom est affecté à la nouvelle fenêtre, par exemple Server.Database - DataUpdate_Database _1.sql.
Ce script reflète les modifications que vous avez apportées dans le volet d'informations. Par exemple, vous avez pu désactiver une case à cocher pour une ligne donnée à la page Uniquement dans la cible pour la table [dbo].[Shippers]. Dans ce cas, le script ne met pas à jour cette ligne.
(Facultatif) Modifiez ce script dans la fenêtre Server.Database - DataUpdate_Database _1.sql.
(Facultatif, mais recommandé) Sauvegardez la base de données cible.
Cliquez sur Exécuter SQL ou appuyez sur F5 pour mettre à jour la base de données cible.
Remarque importante : Par défaut, les mises à jour se produisent dans la portée d'une transaction. Si des erreurs se produisent, vous pouvez restaurer l'intégralité de la mise à jour. Vous pouvez modifier ce comportement. Pour plus d'informations, consultez Comment : définir des options pour la comparaison de données de base de données.
Les données des enregistrements sélectionnés dans la cible sont mises à jour avec les données des enregistrements correspondants dans la source.
Voir aussi
Tâches
Comment : comparer les données de deux bases de données
Procédure pas à pas : comparaison des données de deux bases de données