web-dev-qa-db-fra.com

Schéma de comparaison SQL Server dans Visual Studio 2017

J'essaie de comparer les schémas de deux bases de données sur le même serveur.

Les deux bases de données sont nommées benchmarkdb et benchmarkdb_dev.

Dans Visual Studio 2017, je vais dans Outils> SQL Server> Comparaison de nouveaux schémas ...

Dans les deux menus déroulants intitulés "Sélectionner la source" et "Sélectionner la cible" (comme illustré dans l'image ci-dessous), je souhaite sélectionner benchmarkdb comme source et bencmarkdb_dev comme cible.

enter image description here

Après avoir cliqué pour sélectionner une source, le "Select Source Schema" apparaît, et j'ai cliqué sur le bouton "Select Connection ...", qui a fait apparaître une autre popup. La dernière fenêtre contextuelle (celle de droite dans l'image ci-dessous) montre les deux bases de données que j'essaie de comparer.

enter image description here

Cependant, après avoir choisi un pour la source ou la cible, tous les pop-ups se ferment, mais rien ne remplit les menus déroulants "Sélectionner la source ..." ou "Sélectionner la cible ...". En fait, cela revient à ressembler à la première image.

Existe-t-il une solution pour que je puisse comparer les schémas entre les bases de données?

Mise à jour:

J'ai essayé cela sur VS 2012, 2015 et 2017. Tous sont confrontés au même problème. Le logiciel VS et le logiciel système sont à jour. Voici quelques versions des logiciels que j'utilise, si c'est une aide.

Windows 7 Entreprise SP1

VS 2012, 2015 et 2017

SQL Server 2014

.NET Framework v4.7.02053

6
ccbadger

OK, j'ai donc réussi à le réparer. Tout d'abord, vous devez installer SSDT à partir des pages Microsoft. Allez sur Google. Assurez-vous que vous l'avez également répertorié dans les composants individuels lors du démarrage du programme d'installation (sur Modifier). Seule la base de données SQL Server est requise (je pouvais choisir parmi Integration Services et 3 autres).

Ensuite, vous devez "Supprimer la connexion de l'historique" dans Schema Compare modal pour la sélection de la connexion.

J'ai fermé VS à ce stade, pour m'assurer que la connexion n'est plus dans l'historique. Au démarrage de VS la prochaine fois, vous ne devriez pas avoir la connexion problématique dans l'historique.

Recréez la connexion (j'ai coché "mémoriser le mot de passe") et le tour est joué. Le schéma compare les œuvres.

Pas vraiment sûr, mais en désespoir de cause, j'ai également installé "Redgate ReadyRoll Core", "Redgate SQL Prompt Core" et "Redgate SQL Search". Je ne pense pas que ce soit important, mais si tout le reste échoue ...

Edit: Cela a fonctionné sur 2 machines et il ne semble pas être connecté à la version VS.

7
Cubelaster

J'ai eu le même problème, mais je ne sais pas si j'avais la même cause profonde.

Mes problèmes ont commencé après le changement de ma base de données de SQL Server sur un serveur Windows vers SQL Server sur un conteneur Linux. La comparaison de schéma semble accepter ma sélection, mais le champ de la base de données ne se remplit jamais et je ne peux pas effectuer de comparaison.

Il y avait 2 choses que je devais faire pour résoudre le problème.

  1. Mettez à jour Visual Studio (en utilisant le programme de mise à jour standard dans Visual Studio).
  2. Mettez à jour le module complémentaire Outils de développement SQL Server (SSDT) ​​pour Visual Studio vers une version d'aperçu qui prend en charge SQL Server sous Linux. Ce téléchargement est disponible ici .

Une fois les deux mises à jour en place, j'ai pu sélectionner la base de données et exécuter des comparaisons de schéma entre mon projet et SQL Server sous Linux exactement comme je l'avais fait pour SQL Server sous Windows.

2
Andrew Pirkola