Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
La comparaison de schémas vous permet de comparer deux définitions de base de données. La source et la cible de la comparaison peuvent être n’importe quelle combinaison de base de données connectée, de projet de base de données SQL ou .dacpac de fichier. Une fois la comparaison terminée, les résultats apparaissent sous la forme d’un ensemble d’actions qui rendent la cible identique à la source. Les différences entre les modèles de base de données sont présentées comme un écart de contrôle de code source.
Si la cible de comparaison de schémas est un projet SQL ou une base de données, vous pouvez mettre à jour la cible directement à partir de l’interface de comparaison de schémas ou générer un script de mise à jour qui a le même effet.
La comparaison de schémas offre les fonctionnalités suivantes :
- Comparez les schémas entre deux
.dacpacfichiers, bases de données ou projets de base de données SQL. - Affichez les résultats sous la forme d’un ensemble d’actions pour faire correspondre une cible à la source.
- L’exclusion sélective des actions répertoriées dans les résultats.
- Définir les options qui contrôlent l’étendue de la comparaison.
- Appliquez des modifications directement à la cible ou générez un script pour appliquer les modifications ultérieurement.
- Enregistrez la comparaison en tant que
.scmpfichier à réutiliser.
Prerequisites
- SQL Server Management Studio 22.7 ou une version ultérieure
- Charge de travail DevOps pour bases de données (obligatoire uniquement lors de la comparaison de projets de base de données SQL)
Lancer la comparaison de schémas
Vous pouvez ouvrir la comparaison de schémas dans SSMS à partir de plusieurs points d’entrée.
Explorateur d'objets
Cliquez avec le bouton droit sur une base de données dans Explorateur d'objets puis sélectionnez Tasks>Schema Compare (préversion). La base de données sélectionnée est automatiquement définie comme source.
Explorateur de solutions
Cliquez avec le bouton droit sur un projet de base de données SQL dans Explorateur de solutions puis sélectionnez Schema Compare (préversion). Le projet sélectionné est automatiquement défini comme source.
Note
Pour utiliser des projets de base de données SQL dans Explorateur de solutions, vous avez besoin de la charge de travail Database DevOps.
Menu Outils
Dans le menu Outils , sélectionnez Comparaison de schémas (préversion). La fenêtre Comparaison de schémas s’ouvre sans source ou cible prédéfinie.
Sélectionner la source et la cible
Une fois la comparaison de schéma ouverte, sélectionnez la source et la cible de la comparaison. Chacun peut être une base de données connectée, un .dacpac fichier ou un projet de base de données SQL.
- Base de données : se connecter à une instance de base de données en cours d’exécution. La source est la définition de base de données que vous souhaitez utiliser comme base pour les modifications apportées à la cible.
-
Application de la couche Données (.dacpac) : accédez à un fichier compilé
.dacpac. Un.dacpaccontient une copie instantanée d’un schéma de base de données. - Database Project: sélectionnez un projet de base de données SQL ouvert. Nécessite la charge de travail DevOps pour bases de données.
La cible est la définition de base de données à laquelle vous souhaitez évaluer et éventuellement appliquer des modifications.
Comparaison de l’exécution et de la vérification
Sélectionnez Comparer dans la barre d’outils pour démarrer le processus de comparaison.
Une fois la comparaison terminée, le volet Résultats affiche les différences structurelles entre la source et la cible. Les résultats de comparaison regroupent toutes les différences par action, telles que Supprimer, Modifier ou Ajouter.
Chaque ligne identifie l’objet dans le schéma source ou cible (ou les deux) et l’action effectuée par le processus sur le schéma cible pour rendre l’objet cible identique à l’objet source. Si vous renommez un objet ou déplacez-le vers un nouveau schéma, les noms source et cible sont différents. Le nom de la source apparaît en gras pour mettre en évidence la différence.
Par défaut, la liste des résultats masque les objets identiques dans les deux schémas ou qui ne sont pas pris en charge pour la mise à jour (par exemple, les objets intégrés). Sélectionnez les boutons de filtre appropriés dans la barre d’outils pour afficher ces objets.
Pour modifier la préférence de regroupement, sélectionnez la liste déroulante Grouper les résultats dans la barre d’outils. Sélectionnez Type pour regrouper les résultats par type d’objet, par exemple par tables, vues ou procédures stockées.
Exclure les différences
Par défaut, l’action Update Target inclut toutes les différences dans son étendue. Pour exclure les différences que vous ne souhaitez pas synchroniser, désactivez la colonne Include de chaque ligne. La ligne est immédiatement grisée. Lorsque Schema Compare met à jour la cible, il ne prend pas cette ligne en compte parmi les modifications en attente.
Si une ligne exclue a des objets dépendants, tels qu’une ligne de table référencée par une ligne d’affichage , la ligne exclue est désactivée, mais sa case à cocher n’est pas désactivée tant que vous n’avez pas non plus décoché toutes les lignes dépendantes. Si vous refactorisez une ligne, telle que le changement de nom ou le déplacement vers un autre schéma, la case à cocher est désactivée pour cette ligne et ses lignes enfants dépendantes.
Options de comparaison
Sélectionnez Options dans la barre d’outils pour configurer quels objets sont comparés et quels types de différences sont ignorés. Les options sont les suivantes :
- Ignorer l’espace blanc
- Ignorer les schémas de partition
- Ignorer l’ordre des colonnes
Vous pouvez également configurer les types d’objets inclus dans la comparaison, tels que les tables, les procédures stockées, les index, les autorisations et les types définis par l’utilisateur.
Appliquer des modifications
Pour mettre à jour le schéma de la cible, vous avez deux options :
- Appliquer : appliquez des modifications directement à la base de données ou au projet cible à partir de la fenêtre Comparaison de schémas.
- Generate Script : générez un script Transact-SQL qui capture les mêmes modifications, que vous pouvez examiner et exécuter ultérieurement.
Un script généré apparaît dans l’éditeur Transact-SQL, où vous pouvez l’inspecter et l’exécuter sur une base de données.
Enregistrer les comparaisons
Vous pouvez enregistrer la définition de comparaison pour la comparaison de schémas en tant que .scmp fichier, appelé fichier de comparaison de schémas. Ce fichier stocke des informations sur les paramètres de comparaison dans XML et inclut les éléments suivants :
- Informations de connexion source et cible
- Options de comparaison
- Types d’objets exclus
Vous pouvez ouvrir un .scmp fichier dans SSMS pour exécuter la même comparaison ultérieurement ou partager la comparaison avec d’autres personnes.