SQL Server Compare Schema in Visual Studio 2017

ccbadger picture ccbadger · Jun 7, 2017 · Viewed 21.3k times · Source

I am attempting to compare schemas of two databases on the same server.

The two databases are named benchmarkdb and benchmarkdb_dev.

In Visual Studio 2017, I go to Tools > SQL Server > New Schema Compare...

From both drop down menus labeled "Select Source" and "Select Target" (as seen in the picture below), I want to select benchmarkdb as source and bencmarkdb_dev as target.

enter image description here

After clicking to select a source, the "Select Source Schema" pops up, and I clicked the "Select Connection..." button, which brought another popup. The newest popup (the one on the right in the picture below) shows both databases I am trying to compare.

enter image description here

However, after I choose one for either the source or the target, all pop ups close, but nothing populates the "Select Source..." or "Select Target..." drop down menus. In fact, it just goes back to looking like the first picture.

Is there a solution to this so I can compare the schemas between the databases?

Update:

I have tried this on VS 2012, 2015, and 2017. All are facing the same issue. VS software and system software are up to date. Below are some versions of software that I am using, if it is any help.

Windows 7 Enterprise SP1

VS 2012, 2015, and 2017

SQL Server 2014

.NET Framework v4.7.02053

Answer

Cubelaster picture Cubelaster · Mar 19, 2018

OK, so I managed to fix it. First off, you need to install SSDT from Microsoft pages. Just google it. Make sure that you also have it listed in individual components when starting Installer (on Modify). Only SQL Server Database is required (I could choose from Integration Services and 3 more).

Next, you need to "Remove connection from history" in Schema Compare modal for connection selection.

I closed VS at this point, to make sure that the connection is not in history anymore. Starting VS the next time, you should not have the problematic connection in history.

Recreate the connection (I checked "remember password") and voila. Schema compare works.

Not really sure, but in desperation I also installed "Redgate ReadyRoll Core", "Redgate SQL Prompt Core" and "Redgate SQL Search". I don't think it matters, but if all else fails...

Edit: This worked on 2 machines and it doesn't seem to be connected to VS version.