Comparaison de comparateurs pour synchroniser les schémas et les données de base de données de MS SQL Server

Description du besoin global de synchronisation des changements


Lorsque vous travaillez avec des bases de données, vous devez souvent résoudre le problème de synchronisation des modifications.
Si l'entreprise n'utilise qu'un seul environnement industriel, en plus de cela, au moins un environnement supplémentaire supplémentaire est nécessaire pour tester les modifications apportées. Dans ce cas, il devient nécessaire de transférer les modifications de l'environnement de test à l'environnement industriel.

Avec la croissance de l'entreprise, le nombre de serveurs et d'environnements virtuels nécessaires peut augmenter, et le nombre d'instances de systèmes de gestion de base de données peut également augmenter, il faut donc une synchronisation plus complexe.

En règle générale, les bases de données sont développées dans un environnement dédié. Les modifications sont ensuite transférées dans l'environnement de test pour différents tests (tests unitaires, autotests, tests de charge, etc.). Et ce n'est qu'après toutes les étapes de développement et d'inspections que les modifications de l'environnement industriel sont transférées.

Avec une infrastructure suffisamment grande, il devient nécessaire de transférer les modifications dans plusieurs environnements industriels à la fois. De plus, le développement de bases de données peut être divisé en différents environnements par fonctionnalité, et il est alors nécessaire de transférer périodiquement les modifications entre ces environnements.

Dans certains cas, des modifications ont été appliquées en dehors de l'environnement de développement et doivent y être transférées. Mais de telles situations doivent être minimisées afin qu'il n'y ait pas de menace pour le bon fonctionnement du système.


En général, la séquence de transfert des modifications peut être représentée comme suit:
  1. Entre environnements de développement.
  2. Des environnements de développement aux environnements de test.
  3. Entre les environnements de test. Si vous apportez des modifications qui ne proviennent pas de l'environnement de développement à l'un des environnements de test, ces modifications sont également transférées dans l'environnement de développement. En règle générale, tous les changements doivent provenir de l'environnement de développement vers l'environnement de test, mais pas l'inverse.
  4. De l'environnement de test aux environnements préindustriels, où les modifications sont collectées pour chaque environnement industriel spécifique, les derniers tests d'intégration sont effectués, ainsi que des tests pour annuler les modifications en cas de défaillances échelonnées prédéfinies.
  5. De l'environnement pré-industriel à l'environnement industriel avec la possibilité d'annuler rapidement les modifications apportées.

Il existe différents outils pour synchroniser les modifications entre les environnements, par exemple:
  1. Visual Studio Comparer
  2. Services d'intégration SQL Server
  3. dbForge Comparer par Devart
  4. Logiciel Quest ApexSQL
  5. Solutions RedGate

En règle générale, les solutions écrites en .NET (par exemple, écrites en C #) fonctionnent avec MS SQL Server.

Cet article présente un exemple de transfert de modifications d'une base de données MS SQL Server d'un serveur à un autre à l'aide des outils de Devart, Quest Software et RedGate. Au final, une comparaison de ces outils sera faite.

Dans cet article, pour des exemples, nous considérerons la base de données SRV, qui est conçue pour servir le SGBD MS SQL Server. Vous pouvez télécharger ses sources ici .
Cette base de données SRV est librement distribuée à toutes fins.

Devart Solutions


Les solutions de synchronisation de bases de données MS SQL Server de Devart sont appelées DbForge Data Comparer , DbForge Schema Comparer et dbForge Compare Bundle pour SQL Server . Les deux premiers sont intégrés dans DbForge Studio pour MS SQL Server et le troisième directement dans SSMS .
Examen détaillé de la solution Devart

Synchronisation de schéma de base de données


Après avoir ouvert le studio, allez dans l'onglet «Database Sync» et créez une nouvelle connexion en cliquant sur le bouton «New Connection»:


Dans la fenêtre des paramètres de connexion qui s'ouvre, vous devez saisir les données nécessaires pour vous connecter à l'instance MS SQL Server (serveur source). Veuillez noter qu'en plus de MS SQL Server, Windows, l'authentification Active Directory, l'authentification via MFA est apparue. Après avoir rempli tous les champs obligatoires, cliquez sur le bouton «Tester la connexion» pour tester la connexion:


Une fois la connexion établie, la boîte de dialogue suivante apparaît:


Ensuite, cliquez sur le bouton «OK» dans la boîte de dialogue et sur le même bouton dans la fenêtre des paramètres de connexion.

Maintenant, une nouvelle connexion est apparue:


De même, vous devez connecter toutes les instances nécessaires de MS SQL Server (dans cet exemple, vous devez créer une connexion pour le serveur de destination).

Après cela, cliquez sur «Nouvelle comparaison de schémas» pour configurer le processus de comparaison des schémas de base de données sur le serveur source et de la base de données sur le serveur de destination:


Une fenêtre de paramètres pour comparer les circuits apparaît.

Dans l'onglet "Source et cible" à gauche dans le panneau Source, vous devez sélectionner:
  1. type
  2. connexion
  3. base de données source

À droite dans le panneau Cible, vous devez sélectionner:
  1. type
  2. connexion
  3. base de données des récepteurs

Veuillez noter que dans le type, vous pouvez sélectionner non seulement la base de données, mais aussi le répertoire de script, l'instantané, le contrôle de version et la sauvegarde. Dans notre cas, nous sélectionnons dans le type "base de données".

Après avoir sélectionné tous les paramètres, vous devez cliquer sur le bouton «Suivant» pour poursuivre la configuration de la synchronisation des schémas de base de données.

Si deux bases de données initialement identiques sont comparées, vous pouvez immédiatement commencer à comparer les schémas en cliquant sur le bouton «Comparer».

Si nécessaire, vous pouvez accéder à n'importe quel onglet de paramètres en cliquant sur l'élément correspondant dans la fenêtre de gauche.

À tout moment, vous pouvez enregistrer les paramètres sous forme de fichier bat en cliquant sur le bouton «Enregistrer la ligne de commande» dans le coin inférieur gauche de la fenêtre.

Dans la plupart des cas, lorsque vous effectuez des modifications entre des bases de données initialement identiques, cliquez simplement sur le bouton «Comparer». Mais pour étudier la fonctionnalité, vous devez cliquer sur "Suivant":


Dans l'onglet Options, vous pouvez définir différents paramètres ou les laisser par défaut:


Dans l'onglet «Schema Mapping», vous pouvez configurer le mappage des schémas par nom:


Dans l'onglet «Table Mapping», vous pouvez configurer le mappage des tables et des colonnes:


Dans l'onglet «Filtre d'objet», vous pouvez spécifier des objets à comparer.

Après cela, si nécessaire, vous pouvez revenir aux étapes précédentes.

À la fin, vous devez cliquer sur le bouton «Comparer» pour lancer le processus de comparaison des schémas des bases de données spécifiées:


La fenêtre des paramètres de comparaison de schéma de base de données disparaîtra et une fenêtre apparaîtra avec un indicateur du processus de comparaison:


À la fin du processus, faites attention à la fenêtre. Vous pouvez modifier les paramètres de comparaison en cliquant sur le bouton «Modifier la comparaison» dans le coin supérieur gauche de la fenêtre. À droite de ce bouton se trouve un cercle avec une flèche - c'est le bouton de mise à jour, qui recommence le processus de comparaison des schémas. Vous trouverez également ci-dessous tous les serveurs précédemment enregistrés:


Le menu principal de Fichier vous permet d'enregistrer les paramètres de comparaison des schémas sous forme de fichier avec l'extension scomp.

Faisons maintenant attention à la partie centrale de la fenêtre. Ici, vous devez sélectionner les objets nécessaires pour la synchronisation avec les coches. À gauche, les objets source et à droite, le récepteur. Ci-dessous, de la même manière, le code de définition des objets. Les objets à comparer sont divisés en 4 sections avec un décompte du nombre de ces objets dans chaque section.
Ici, une table est sélectionnée pour visualiser le code de définition, qui est à la fois dans la source et dans le récepteur. Par conséquent, cet objet se trouve dans la section "Différent":


Lorsque vous sélectionnez cet objet, son code de définition à gauche sera déplacé vers la droite lors de la synchronisation des schémas de base de données pour le récepteur.
Ici, pour afficher le code de définition, une vue est sélectionnée uniquement dans la source. Par conséquent, cet objet se trouve dans la section «Uniquement en source» et il n'y a pas de code de définition pour lui à droite:


Lors du choix d'un tel objet, son code de création sera généré pour le récepteur.
Ici, pour afficher le code de définition, une vue est sélectionnée uniquement dans le récepteur. Par conséquent, cet objet est situé dans la section "Seulement dans la cible" et il n'y a pas de code de définition pour lui sur la gauche:


Lors du choix d'un tel objet, son code de suppression sera généré pour le récepteur.
Ensuite, pour démarrer le processus de synchronisation des schémas de base de données, cliquez sur l'un des boutons surlignés en rouge dans l'image:


Dans l'onglet «Sortie», vous devez spécifier comment le processus de synchronisation se déroulera. Habituellement, la génération de script est sélectionnée en studio ou dans un fichier. Dans notre cas, nous choisirons la première option. Il est recommandé de suivre attentivement la séquence de tous les onglets pour configurer le processus de synchronisation:


Dans l'onglet «Options», vous pouvez définir différents paramètres de synchronisation des schémas de base de données.
En règle générale, tous les paramètres du groupe de sauvegarde de la base de données sont supprimés.
Par défaut, dans le groupe de paramètres «Transactions», «Utiliser une seule transaction» et «Définir le niveau d'isolement des transactions sur SERIALISABLE» sont définis, ce qui évite les situations dans lesquelles seules des parties des modifications peuvent être appliquées - c'est-à-dire les modifications seront appliquées en totalité ou pas du tout:


L'onglet Résumé affiche les résultats de la sélection des paramètres de synchronisation. Si nécessaire, vous pouvez revenir aux paragraphes précédents.
Veuillez noter que les paramètres de synchronisation des schémas de base de données peuvent également être enregistrés dans un fichier bat en cliquant sur le bouton «Enregistrer la ligne de commande» dans le coin inférieur gauche de la fenêtre.
À la fin, vous devez cliquer sur le bouton "Synchroniser" pour démarrer le processus de génération d'un script pour synchroniser les schémas de base de données:


Une fois terminé, un script sera généré dans une nouvelle fenêtre:



Ce script est le code pour transférer les modifications de schéma de base de données de la source vers le récepteur. Il peut être utilisé sur le serveur de destination ou enregistré dans un fichier pour une utilisation ultérieure sur le serveur de destination. En règle générale, dans tous les cas, ce script est enregistré afin de l'appliquer sur plusieurs serveurs pour la même base de données après toutes les vérifications. Vous pouvez le faire en utilisant des groupes de serveurs enregistrés dans SSMS en envoyant immédiatement le script résultant à l'ensemble du groupe de serveurs souhaité:


Après la synchronisation, les objets précédemment sélectionnés devraient disparaître de la fenêtre de comparaison de circuits:


Synchronisation des données de la base de données


Il est supposé que les connexions nécessaires ont été créées comme décrit ci-dessus dans «Synchronisation du schéma de base de données».

Après cela, vous devez cliquer sur "Nouvelle comparaison de données" pour configurer le processus de comparaison des données de la base de données sur le serveur source et de la base de données sur le serveur de destination:


Une fenêtre de paramètres pour comparer les données apparaîtra.

Dans l'onglet "Source et cible" à gauche dans le panneau Source, vous devez sélectionner:
  1. type
  2. connexion
  3. base de données source

À droite dans le panneau Cible, vous devez sélectionner:
  1. type
  2. connexion
  3. base de données des récepteurs

Notez que dans le type, vous pouvez sélectionner non seulement la base de données, mais aussi le répertoire de script et la sauvegarde. Dans notre cas, nous sélectionnons dans le type "base de données".

Après avoir sélectionné tous les paramètres, cliquez sur «Suivant» pour continuer à configurer la synchronisation des données de la base de données.

Contrairement à la comparaison de circuits, lors de la comparaison de données, il est recommandé de suivre toutes les étapes de configuration en séquence.

Si nécessaire, vous pouvez accéder à n'importe quel onglet de paramètres en cliquant sur l'élément de fenêtre correspondant à gauche.

À tout moment, vous pouvez enregistrer les paramètres sous forme de fichier bat en cliquant sur le bouton «Enregistrer la ligne de commande» en bas à gauche de la fenêtre.

Après avoir défini l'onglet «Source et cible», cliquez sur «Suivant»:


Dans l'onglet Options, vous pouvez définir différents paramètres ou les laisser par défaut:


L'onglet «Mapping» donne une liste de tableaux pour la synchronisation des données. Les points d'exclamation indiquent les tables dans lesquelles il n'y a pas de clé primaire. Pour de tels tableaux, l'appariement doit être effectué manuellement. Pour ce faire, sélectionnez la ligne souhaitée (tableau) et cliquez avec le bouton droit sur les points de suspension:


La fenêtre correspondante apparaîtra:


Après cela, si nécessaire, vous pouvez revenir aux étapes précédentes.
À la fin, cliquez sur «Comparer» pour lancer le processus de comparaison des données des bases de données spécifiées:


La fenêtre des paramètres de comparaison des données de la base de données disparaîtra et une fenêtre apparaîtra avec un indicateur de la progression de la comparaison:


À la fin du processus, faites attention à la fenêtre. Vous pouvez modifier les paramètres de comparaison en cliquant sur «Modifier la comparaison» dans le coin supérieur gauche de la fenêtre. À droite de ce bouton se trouve un cercle avec une flèche - il s'agit d'un bouton de mise à jour qui redémarre le processus de comparaison des données. Vous trouverez également ci-dessous tous les serveurs précédemment enregistrés:


Le menu principal de Fichier vous permet d'enregistrer les paramètres de comparaison des circuits sous forme de fichier avec l'extension dcomp.

Faisons maintenant attention à la partie centrale de la fenêtre. Ici, vous devez sélectionner les objets nécessaires pour la synchronisation avec les coches. À gauche se trouvent les objets source, et à droite - le récepteur:


Les informations suivantes sont affichées ci-dessous:
  1. pour les lignes insérées - données des lignes insérées:

  2. pour les chaînes mutables - comparaison de chaînes:

  3. pour les lignes supprimées - données des lignes supprimées:


En bas à gauche, si nécessaire, vous pouvez sélectionner non pas toutes les lignes à modifier, mais celles dont vous avez besoin. Par défaut, toutes les lignes sont sélectionnées:


Vous pouvez également basculer entre les lignes ajoutées, modifiées et supprimées à l'aide des onglets au-dessus du tableau de données lui-même:


Pour contrôler la visibilité des colonnes (champs) souhaités, il existe la fonctionnalité nécessaire:


Par défaut, toutes les colonnes sont sélectionnées.

Ensuite, pour démarrer le processus de synchronisation des données de la base de données, cliquez sur l'un des boutons surlignés en rouge dans l'image:


Dans l'onglet «Sortie», vous devez spécifier comment le processus de synchronisation se déroulera. Habituellement, la génération de script est sélectionnée en studio ou dans un fichier. Dans notre cas, nous choisirons la première option. Il est recommandé de suivre attentivement la séquence de tous les onglets pour configurer le processus de synchronisation:


Dans l'onglet «Options», vous pouvez définir différents paramètres de synchronisation.

En règle générale, tous les paramètres du groupe de sauvegarde de la base de données sont supprimés.

Par défaut, dans le groupe de paramètres «Transactions», «Utiliser une seule transaction» et «Définir le niveau d'isolement des transactions sur SERIALISABLE» sont définis, ce qui évite les situations dans lesquelles seules des parties des modifications peuvent être appliquées - c'est-à-dire les modifications seront appliquées en totalité ou pas du tout:


L'onglet Résumé affiche les résultats de la sélection des paramètres de synchronisation. Si nécessaire, vous pouvez revenir aux paragraphes précédents.

Veuillez noter que les paramètres de synchronisation des schémas de base de données peuvent également être enregistrés dans un fichier bat en cliquant sur la «ligne de commande d'enregistrement» dans le coin inférieur gauche de la fenêtre.

À la fin, vous devez cliquer sur "Synchroniser" pour démarrer le processus de génération d'un script de synchronisation:


Une fois terminé, un script sera généré dans une nouvelle fenêtre:



Ce script est le code pour transférer les modifications de données de la source vers le récepteur. Il peut être appliqué sur le serveur-récepteur ou enregistré dans un fichier pour une utilisation ultérieure sur le serveur-récepteur.

Après la synchronisation, les objets précédemment sélectionnés devraient disparaître de la fenêtre de comparaison des données.

Aperçu de DbForge Compare Bundle pour SQL Server


En plus de dbForge Studio pour SQL Server lui-même, vous pouvez utiliser l'outil dbForge Compare Bungle for SQL Server de Devart, qui est intégré à SQL Server Management Studio (SSMS), pour comparer les données et les schémas de base de données. Prenons un exemple d'utilisation de cet outil dans SSMS:


Ici, vous devez cliquer avec le bouton droit sur la base de données souhaitée et sélectionner l'action souhaitée: comparaison de données ou comparaison de schéma. Après cela, installez la base de données sélectionnée comme source ou comme récepteur. De même, sélectionnez la deuxième base de données comme récepteur ou comme source.

Après avoir défini la source et le récepteur, pour démarrer la configuration de la synchronisation des données ou du schéma de base de données, cliquez sur la flèche verte au milieu de l'écran:


Après cela, la fenêtre familière pour définir la synchronisation des données ou les schémas de base de données apparaîtra, selon ce qui a été précédemment sélectionné.

Solutions logicielles Quest


Les outils ApexSQL Diff et ApexData Diff de Quest Software sont intégrés dans SSMS .
De plus, ces outils peuvent fonctionner indépendamment et sans SSMS .
Présentation détaillée des solutions logicielles Quest

Synchronisation de schéma de base de données


Dans le menu principal, pour démarrer l'outil, sélectionnez simplement ApexSQL \ ApexSQL Diff \ Launch:


Dans la fenêtre qui apparaît, cliquez sur le bouton «Nouveau» ci-dessous:


La fenêtre des options de comparaison de schéma de base de données s'ouvre. Vous devez maintenant remplir les champs obligatoires de l'onglet «Sources de données»:


Faites attention aux flèches ci-dessous. Ils vous permettent de permuter les paramètres de gauche à droite et de droite à gauche, ainsi que de copier les paramètres de gauche à droite et de droite à gauche. Ensuite, cliquez sur l'onglet «Options» et sélectionnez les paramètres nécessaires pour comparer les schémas de base de données (vous ne pouvez rien changer):


Maintenant, vous devez aller dans l'onglet «Options avancées» et voir les paramètres avancés, qui peuvent être modifiés si nécessaire. L'onglet «Schema mapping» contient une comparaison de carte pour comparaison:


Il existe également un certain nombre d'autres paramètres avancés:
  1. paramètres avancés de l'onglet Filtre d'objet:
  2. paramètres avancés de l'onglet «Package»:
  3. paramètres avancés de l'onglet Scripts supplémentaires:

À la fin, vous devez cliquer sur le bouton «Comparer» pour lancer le processus de comparaison des schémas de base de données. À la fin, une fenêtre apparaîtra où les objets du schéma de la base de données source seront situés à gauche et les objets de la base de données du récepteur à droite:


Au bas de la fenêtre se trouve le code de définition de l'objet sélectionné, et les différences dans les codes de définition du même objet dans différentes bases de données sont mises en évidence.

Ici, vous devez sélectionner les objets nécessaires pour synchroniser les schémas de base de données.
Après cela, vous devez cliquer sur le bouton avec l'image de la flèche verte "Synchroniser".

La fenêtre des paramètres pour la synchronisation de la base de données elle-même s'ouvre.
Dans l'onglet "Direction de synchronisation" définit le sens de synchronisation.
Ensuite, cliquez sur le bouton "Suivant":


L'onglet Dépendances affiche les dépendances:


Sur l'onglet «Options de sortie», indiquez que vous devez générer un script de synchronisation:


L'onglet Résumé et avertissements affiche des informations récapitulatives sur les paramètres de synchronisation sélectionnés. Pour commencer à créer un script de synchronisation, cliquez sur le bouton "Créer un script":


À la fin, le script sera affiché:


:


«View» .


«Resources» , . «Home». SSIS-:


:


:



ApexSQL\ApexSQL Data Diff\Launch:


“New”:


. «Data sources»:


. , .

«Options» ( ):


«Advanced options» , . , . «Object mapping»:


, .

«Compare» :


:


, , . , , — .

, . «Synchronize».

.

«Synchronization direction» .

, «Next»:


«Output options» , :


«Summary and warnings» . «Create script»:


:


, :


«View» .


«Resources» , .

«Home».

:


:


RedGate


SQL Compare SQL Data Compare RedGate .
RedGate


SQL Compare RedGate . «Data sources» :


, , , , -. :


«Table mapping» :


«Full» , , :


«Owner mapping» :


«Options» :


«Compare now» . «OK»:


, ( ApexSQL Diff) , :


, «Deploy»:
:


.

«Deployment method» .

«Next»:


, :



SQL Data Compare RedGate . «Data sources» :


, , , , -.

:


«Table & views» :


«columns» , , :


«Owner mapping» :


«Options» :


«Compare now» . «OK»:


, ( ApexSQL Data Diff) , :


, «Deploy»:


.

«Deployment method» .

«Next»:


, :



1 licence10 licencesLors de l'achat de deux produits à la fois
Diff ApexSQL599 $359 $Cela se fait personnellement et peut coûter 539 $ pour deux produits par licence pour l'achat de 10 licences
Diff données ApexSQL599 $359 $Cela se fait personnellement et peut coûter 539 $ pour deux produits par licence pour l'achat de 10 licences
Comparaison SQL785 $785 $Peut être fourni personnellement, mais avec l'achat de plus de 10 licences
Comparaison de données SQL785 $785 $Peut être fourni personnellement, mais avec l'achat de plus de 10 licences
Comparaison de schéma dbForge pour SQL Server300 $300 $400 $ pour deux produits pour 1 licence
Comparaison des données dbForge pour SQL Server300 $300 $400 $ pour deux produits pour 1 licence

Il convient également de noter les fonctionnalités suivantes des outils décrits ci-dessus:
  1. la source de comparaison peut être:
    • une base de données
    • instantané
    • dossier de script
    • sauvegarde
    • système de contrôle de version
  2. vous pouvez travailler avec ces outils via la ligne de commande
  3. la synchronisation peut être effectuée directement ou un script de synchronisation peut être enregistré pour une exécution ultérieure. Vous pouvez également enregistrer en tant que fichier bat

Le site officiel de l' outil ApexSQL Diff fournit une comparaison de ce programme avec l'outil SQL Compare.

De même, pour l'outil ApexSQL Data Diff , une comparaison avec l'outil SQL Data Compare est fournie.

D'après les comparaisons ci-dessus, il est facile de voir qu'il y a quelque chose dans ApexSQL, qui n'est pas dans Compare, et quelque chose au contraire est dans Compare, mais pas dans ApexSQL. Mais tous les utilitaires considérés disposent de l'ensemble de fonctionnalités de base nécessaire pour comparer à la fois les schémas et les données de la base de données elle-même.

En termes de fonctionnalité et de prix, compte tenu des remises et du matériel discuté ci-dessus, les produits ApexSQL Diff et ApexSQL Data Diff sont le meilleur choix.

Conclusion


Les utilitaires populaires pour la synchronisation des schémas de base de données et des données ont été pris en compte:
  1. Comparaison de schéma dbForge pour SQL Server par Devart
  2. Comparaison des données dbForge pour SQL Server par Devart
  3. Logiciel Quest ApexSQL Diff
  4. Diff ApexSQL Data Quest Software
  5. Comparaison SQL RedGate
  6. Comparaison des données SQL RedGate


Une brève comparaison a également été faite sur le prix et la fonctionnalité de ces produits.

Le résultat de l'examen a été la conclusion que le meilleur choix en termes de prix et de fonctionnalités sont ApexSQL Diff et ApexSQL Data Diff de Quest Software. Cependant, les fonctionnalités de base nécessaires sont suffisamment disponibles dans les produits Devart: dbForge Schema Compare pour SQL Server et dbForge Data Compare pour SQL Server. Ces produits peuvent être achetés beaucoup moins cher que leurs homologues ApexSQL Diff et ApexSQL Data Diff de Quest Software.

Il existe des solutions similaires pour Oracle DBMS.

Et quels comparateurs vous aident et pour quels SGBD pour comparer les schémas et les données de base de données?

Après discussions


De plus, les collègues dans les commentaires et la correspondance ont recommandé les comparateurs intéressants suivants:
  1. pour comparer les schémas et les données de base de données de différents SGBD
  2. Pour migrer de MS SQL Server vers PostgreSQL:
  3. pour comparer les schémas de base de données et les données de base de données pour MS SQL Server
  4. pour passer d'un SGBD à un autre SGBD et pour comparer les schémas et les données de base de données de différents SGBD . L'outil symmetricds est également très bon.
  5. pour transférer une base de données Jira du SGBD MS SQL Server vers le SGBD PostgreSQL


Les sources


Source: https://habr.com/ru/post/fr465753/


All Articles