SQL Compare et SQL Data Compare

SQL Compare et SQL Data Compare

2 logiciels indispensables lorsque vous travaillez sur un projet de développement informatique

Aujourd’hui, je souhaite présenter 2 logiciels indispensables lorsque vous travaillez sur un projet de développement informatique ayant une base de données. Un développeur travaillant avec une base de données sera, tôt ou tard, amener à répondre aux problématiques suivantes dans le cycle de vie de l’application sur laquelle il développe : 

  • Audit d’une base de données
    • Vérifier que les tables, vues, fonctions, procédures stockées, … sont identiques entre 2 environnements
  • Vérifier les droits utilisateurs
  • Créer des scripts de livraison/déploiement
  • Déploiement des changements de structure
  • Déploiement des changements des données
  • Copie de données
  • Tables de paramétrage
  • Copie des données d’un environnement à un autre

Il est souvent difficile, pénible et long de réaliser ses opérations manuellement : c’est ici que rentre en jeu SQL Compare et SQL Data Compare.
      
Logo sql compare

Ces 2 logiciels sont édités par RedGate et sont déclinés en 3 versions. Une version d’essai est téléchargeable sur le site http://www.red-gate.com/products/sql-development/ pour une période de 14 jours.

Comparaison des outils

SQL Compare

SQL Compare compare les objets SQL entre 2 base de données et déploie les différences.

Utilisation

A l’ouverture de SQL Compare, un assistant se présente à vous et vous invite à choisir les 2 bases de données que vous souhaitez comparer les objets. Renseignez le serveur, le type d’authentification, les identifiants de connexion et les bases de données.

Puis appuyez sur ‘Compare Now’.

Illustration SQL compare

A noter qu’il est possible de faire la comparaison entre 2 bases de données, des backups, snapshots ou source control (pour la version pro). Il est aussi possible d’inverser le sens de comparaison à l’aide du bouton ‘Switch’. Enfin, le bouton ‘Save As…’ vous permet d’enregistrer votre configuration de comparaison/options pour éviter de renseigner de nouveau les paramètres pour des comparaisons futures.

Une fois la comparaison terminée, vous pouvez visualiser le résultat dans un écran divisé présentant à gauche la base de données source et à droite la base de données cible. Le résultat de la comparaison est divisé en 3 catégories :

  • Objets présents dans la base de données source et non présents dans la base de données cible
  • Objets présents dans la base de données cible et non présents dans la base de données de source
  • Objets identiques entre les 2 bases de données

Lors de la sélection d’un objet, la partie ‘Preview’ permet de voir les scripts SQL sur les 2 bases de données.

Sélection des objets - SQL Compare

Les cases à cocher permettent de sélectionner les objets à déployer de la base de données source à la base de données cible. Ainsi, vous choisissez facilement ce que vous souhaitez déployer.

Une fois sélectionné les objets à déployer, il suffit de cliquer sur le bouton ‘Deployment Wizard…’ pour générer automatiquement le script de déploiement pour l’environnement.

Deployment wizard - SQL Compare
 
Il est possible de générer un fichier SQL pour des livraisons sur des environnements dont vous ne possédez pas les droits suffisant pour mettre à jour la base de données (cas de l’environnement de Production) ou d’appliquer directement les changements sur la base de données cible (cas de l’environnement d’Intégration).
SQL Compare offre un panel d’options pour faciliter les comparaisons :

  • Possibilité de configurer la manière de comparer les objets
  • Possibilité de filtrer les objets pre-comparaison
  • Possibilité de changer le sens de comparaison
  • Possibilité de filtrer les objets post-comparaison

 Feature - SQL Compare
 
Avantages

  • Gain de temps pour la comparaison et synchronisation de bases de données
  • Elimine les erreurs de livraison entre les différents environnements
  •  Accélère le déploiement des mises à jour de base de données
  • Génère les scripts T-SQL pour le déploiement d’une base à une autre
  • Aide à déceler les erreurs causées par les différences entre 2 bases de données


SQL Data Compare

SQL Data Compare compare les données entre 2 bases de données et déploie les différences.

Utilisation

A l’ouverture de SQL Data Compare, un assistant se présente à vous et vous invite à choisir les 2 bases de données que vous souhaitez comparer les données. Renseignez le serveur, le type d’authentification, les identifiants de connexion et les bases de données.

Puis appuyez sur ‘Compare Now’.

Compare - SQL Data Compare

A noter qu’il est possible de faire la comparaison entre 2 bases de données, des backups ou source control (pour la version pro). Il est aussi possible d’inverser le sens de comparaison à l’aide du bouton ‘Switch’. Enfin, le bouton ‘Save As…’ vous permet d’enregistrer votre configuration de comparaison/options pour éviter de renseigner de nouveau les paramètres pour des comparaisons futures.

Une fois la comparaison terminée, vous pouvez visualiser le résultat dans un écran divisé présentant à gauche la base de données source et à droite la base de données cible. Le résultat de la comparaison est divisé en 3 catégories :

  • Tables contenant des données présentes dans la base de données source et non présentes dans la base de données cible
  • Tables contenant des données présentes dans la base de données cible et non présentes dans la base de données source
  • Tables dont les données sont identiques entre les 2 bases de données

Lors de la sélection d’une table, la partie ‘Preview’ permet de voir les données présentes dans les 2 bases de données. A noter que par défaut la comparaison s’opère sur les valeurs des clés primaires des tables.

Compare - SQL Data Compare

Une fois sélectionné les données à déployer, il suffit de cliquer sur le bouton ‘Deployment Wizard…’ pour générer automatiquement le script de déploiement pour l’environnement.

Méthode Deployment

Il est possible de générer un fichier SQL pour des livraisons sur des environnements dont vous ne possédez pas les droits suffisant pour mettre à jour la base de données (cas de l’environnement de Production) ou d’appliquer directement les changements sur la base de données cible (cas de l’environnement d’Intégration).

  • SQL Data Compare offre un panel d’options pour faciliter les comparaisons :
  • Possibilité de configurer la manière de comparer les données
  • Possibilité de filtrer les données à comparer pre-comparaison
  • Possibilité de changer le sens de comparaison

Action Compare - SQL Data Compare

Les options

La comparaison de données est paramétrage dans l’onglet ‘Tables & Views’ où il est possible de :
Sélectionner les tables à comparer
Sélectionner les données d’une table à partir d’une WHERE clause 
En excluant des colonnes non significatives (ex : date de mise à jour – qui sera systématiquement en différence entre 2 bases de données).
En changeant la clé de comparaison (clé primaire par défaut)

Avantages

  • Gain de temps pour la comparaison et synchronisation des données
  • Copie des données comparées d’un environnement à un autre
  • Génère les scripts T-SQL pour le déploiement d’une base à une autre
  • Aide à déceler les erreurs causées par les différences entre 2 bases de données


Tarifs

Tarif - SQL Compare vs SQL data compare

Conclusion

SQL Compare et SQL Data Compare sont 2 produits complémentaires et très efficaces pour travailler avec les bases de données. Ils permettent de comparer et de déployer les changements en quelques minutes sans difficulté. Faites l’essai et vous l’adopterez !
 

Jérémy Aveneau

Partager

Vous aimerez aussi

+
+
+