SQL Server Compare Schema in Visual Studio 2017 - sql-server

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.
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.
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

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.

I had the same issue, but I don't know if I had the same root cause.
My problems started after changing my database from SQL Server on a Window Server to SQL Server on a Linux Container. The schema compare would appear to accept my selection but the database field would never actually populate and I could not perform a comparison.
There were 2 things I had to do to solve the problem.
Update Visual Studio (using the standard updater within Visual Studio).
Update the SQL Server Development Tools (SSDT) add-on for Visual Studio to a preview version that supports SQL Server on Linux. That download is available here.
After both updates were in place I could select the database and execute Schema Comparisons between my project and SQL Server on Linux exactly as I had been doing for SQL Server on Windows.

If running a local database, check what version of SQL Management studio you are using
I had the same issue running Visual Studio Pro 2017 and SQL management studio v18.6 with SQL Server 2017 installed.
I tried all of the above solutions and no luck
Even going back to Visual Studio 2015 didn't work for me. What did work though was changing back to SQL Management Studio v17.9.1
No issues any more.
I may try to upgrade Visual Studio to 2017 again to see if that works now

Related

SQL Server Reporting Services (SSRS) installation and configuration?

I have installed SQL Server 2014 and Visual Studio Professional 2015. So, does that mean it already has SSMS pre-installed with it, or it needs to be done separately.
My need is: Report generation using SSMS, from data coming from query behind SQL Server.
So, what needs to be exactly done to configure SSMS into SQL Server with VS 2015.
Upon deep diving even more, got the answer.
Option One: Google for 'SQL Server Data Tools' installer, compatible with your VS. Run the Installer.
Option Two: Open Visual Studio 2015 - Tools > Extension and Updates. Find/Search for 'SQL Server Data Tools' update option. Run it.
I'm still not sure if there comes a complete package of Visual Studio along with Data Tools, but I don't think it does. As we still need to add certain packages into VS Installer as per need.

User shortcuts setting in SQL Server Management Studio 2014?

Do you know where in SSMS 2014 can I set up my own shortcuts?
For example: in ORACLE SQL I set up that
sf = select * from
By this I only wrote in execution window sf and it wrote select * from.
Where and how can I set it in SSMS 2014?
Thank you.
SQL Server doesn't have shortcuts. SSMS is a separate product, based on the Visual Studio shell.
SSMS is a separate free product now, which supports all SQL Server versions from 2008 upwards (including SQL Server for Linux). The latest update came out on December 5. Updates are released regularly every month.
It has the same shortcut functionality as Visual Studio. You can change and define new shortcuts from Tools > Options > Environment > Keyboard
You can specify snippets in the Code Snippets Manager, Tools > Code Snippets Manager whose shortcut is Ctrl+K, Ctrl+B. You can insert a snippet by hitting Ctrl+K, Ctrl+X
There are several tutorials that explain how to use Code Snippets, eg Add T-SQL Snippets from the docs, Getting started with Code Snippets feature of SQL Server 2012, the similar SQL snippets in SQL Server Management Studio
It is a good idea to install the latest SSMS version. Now that it's a separate product, earlier versions won't get the same updates as the current one

Index GUI Issues with SSMS 2014 and 2016 when working with SQL Server 2005

We currently work with all versions of SQL Server from 2005 onwards. To save time I try to do everything in a single version of Management Studio. This also helps if running newer client operating systems like Windows 10 which old client tools aren't compatible with.
Specifically when trying to view the graphical SSMS interface for index properties I get the following error if connected to a SQL Server 2005 instance.
In Object Explorer:
Database > Table > Indexes > Right Click > Properties
Full error text:
TITLE: Microsoft SQL Server Management Studio
Exception has been thrown by the target of an invocation. (mscorlib)
ADDITIONAL INFORMATION:
Cannot read property IsSparse. This property is not available on SQL Server 2005. (Microsoft.SqlServer.Smo)
This also happens in SSMS 2014, but not SSMS 2012.
So my question is; can something be done to work around this issue allowing one version of management studio to be used for all versions of SQL Server from 2005 onwards?
I'm guessing now, but as it works in SSMS 2012 there must be something going on that targets an older version of mscorlib. Maybe because SSMS 2012 uses a VS2010 shell and different .Net framework?
Many thanks in advance for your time.
There is an Active feedback about that on Microsoft Connect here. Someone suggest a workaround to go into Table Design and go to menu "Indexes/Keys...". It works, but some properties are not editable that way, like Included Columns. The other options left are to use SSMS 2005-2012 or use T-SQL script, like Aaron said.

How to fix Visual Studio's error "This server version is not supported..." for SQL Server 2012

I recently installed Visual Studio 2010 and SQL Server 2012 on a Windows Server 2008 R2 machine - (including all updates/Service Packs).
When attempting to work on a SQL Server database from within Visual Studio, VS throws the following error:
This server version is not supported. Only servers up to Microsoft SQL
Server 2008 are supported
I recall getting this same error a while back (on a different computer) when I updated a SQL Server 2008 instance to SQL Server 2008 R2. The fix, back then, was to install (or reinstall) Visual Studio 2010 SP1.
Now that I'm receiving this error again (on a new computer), I thought it reasonable to reinstall VS SP1 just like I did a while back. However, doing so did not fix the problem.
It appears as though Visual Studio may need another update to support SQL Server 2012 instances.
For clarity, here are the steps that I did to produce the error: (using VS 2010sp1 and SQL2012)
Using VS, create a Windows Forms application
Right-click the project and choose, Add > New Item
Select "Service-based Database"
Cancel out of the "Data Source Configuration Wizard"
A Database will appear under your Project in Solution Explorer. Double-click the new database
The Database will be added to Server Explorer's list of Data Connections
In Server Explorer, open the database, right-click the Tables directory, then select "Add New Table"
The error "This server version is not supported...." is thrown
Screenshots for whatever its worth..
My question is, is there a fix for this? If so, what is it?
Maybe get SQL Server Data Tools, which work with SQL Server 2012? I believe there are some good tutorials and other materials in the Developer Training Kit. I don't think there are any tricks yet to make an older version of Visual Studio / Data Dude compatible with SQL Server 2012.
Following MSDN blog link discusses about the issue that you are facing with local SQL Server database instance in Visual Studio 2010.
Using LocalDB in Visual Studio 2010
My problem was that I couldn't get VS2012 to work right with SQL Server 2012. I installed the latter product first, but after installing VS2012 and attempting to open an existing project, my existing data file just would not work. I know the software is supposed to automatically take you through a wizard to update your database in the project, but that didn't happen, and I couldn't find a way to make it happen. I'm on the point now of getting rid of SQL Server 2012 and going back to 2008. I'd rather use the most current releases, but I can't spend any more time on configuration issues.
I tried reinstalling the SSDT as well, but kept getting the same error you mentioned Jed, this seemed to let me get around the error message:
http://forums.asp.net/t/1721552.aspx/1?Working+with+Denali+SQLEXPRESS+in+VS+11+Database+issue
This error could also occur if you use the wrong provider. A recently came across the "This server version is not supported...." error and after changing the provider from sqlClient Data Provider to SQL Server Native Client 11.0 in the connection string for the Data Source configuration the problem was solved.
For me, the error arises whenever I try creating a new database. So after unsuccessfully attempting all methods advised, I bypassed the error by clicking on "Add connection" and putting my server name in the dialog box. After adding the non-existent database name, it notifies that it can't find such database and asks whether to create it. Voila! Database created (even though server version is supposedly unsupported).

How to get Enterprise Manager installed in SQL Server 2008 Express?

I've installed Microsoft SQL Server 2008 Express twice now, and all the services work and I can create databases from Visual Studio 2010, but I don't have the Enterprise Manager (I learned it is now called Management Studio) available in the SQL Server 2008 program menu-- I do have other menu items like configuration manager, etc. but nothing for Management Studio / Enterprise Manager.
Is there a checkbox I've missed during installation?
I ran a search for all exes in the SQL Server root folder and nothing jumped out as belonging to the Enterprise Manager, but I'm not 100% sure what the executable would be named.
Primary question:
What is the procedure required to install the Management Studio client [for/with SQL 2008 Express] ?
Secondary question:
What is the name of this client's executable file ?
SQL Server Express doesn't come with SQL Server Management Studio (what you are really looking for when you say Enterprise Manager). You have to download it separately:
http://www.microsoft.com/download/en/details.aspx?id=7593
or with tools already as part of the download
http://www.microsoft.com/en-us/download/details.aspx?id=22973
It's kind of tricky installing Management Studio. This article walks you through it.
Here is an explanation of the situation:
The 2008 version of the Management Studio is not a stand alone installation and can only be installed as part of the SQL Server 2008 Express with Tools or Advanced installation.
Like many others, I spent countless hours trying to figure out how to
install the Management Studio for SQL Server 2008 Express - Advanced
installation (same should apply to the w/ Tools version). What
happened in my case was that I installed Visual Studio 2008 Express
and during that process a stripped down "Instance" of SQL Server 2008
was installed that did not include the Management Studio. Through
much pain and torture I learned that the Management Studio can only be
installed during installation of the first instance. To delete that
first instance, you must go to "Add or Remove Programs" and remove
"Microsoft SQL Server 2008". The removal process will only remove one
instance at a time and if you have installed more than one instance
you need to keep going until all instances have been removed and the
application completely disappears from the Add or Remove Programs"
dialog. Note: You do not need to uninstall any of the other SQL
Server 2008 applications that also appear in the "Add or Remove
Programs" dialog. Then go back through the install process as
follows: Double click on SQLEXPRADV_x86_ENU.exe to load the SQL Server
Installation Center and then go to Installation > New SQL Server
stand-alone installation. Then proceed through all of the
installation steps until you get to “Feature Selection” and click on
“Select All” to toggle on all of the Shared Features, which should
include Management Tools - Basic.Continue the process from there and
you should be good to go. Hopefully this will help others to avoid
much of the pain that many of us have already experienced.
The Management Studio exe is named ssms.exe.
The OP is not alone in his puzzlement about the "missing" management client!!! ;-)
The answers by DOK and CD Jorgensen found here were -collectively- among the most helpful I found while searching the web on this particular issue! At the risk of being redundant, I'm adding this answer with the goal of being more explicit and of safeguarding the key screenshots from Andrea Montanari's article referenced in DOK's answer.
Two things to know:
Not all installation packages for SQL Server 2008 Express Edition include the Management Studio.
You either need to ...
a) ... download the Install package for SQL Server 2008 Express with Tools (named something like SQLEXPRWT_cpu_language.exe: note the WT, short for With Tools) or an installer for an Edition of SQL Server other than Express.
or
b) ...download the Installer specific to Microsoft SQL Management Studio Express (same link as provided by CD Jorgensen). This installer only contains the Management Studio; it has none of the SQL Server per se.
[if you go with an a) install package]
The Management Studio (formerly Enterprise Manager) client remains a stand-alone, independent, component. However its installation is now triggered from a selection made as part of the "Install or Modify SQL Server" track.
It is not found in a separate "Install clients and Tools" menu item from the topmost dialog of the installer (as was the case with SQL 2005 and previous versions).
One should stress that it is stand-alone and the client can indeed be installed on hosts where the SQL Server [engine] is not, and will not be, installed at all. However the initial steps in the Installation Wizard give a strong impression that we will effectively install or re-install SQL Server. It is only on a subsequent step labelled Feature Selection that we have the ability to select Management Tools under Shared Features. On that same Feature Selection dialog we have the option of including or excluding, as desired, the installation of the SQL Server Engine and other Server supporting modules.
These are the two key dialogs of the wizard with regards to this issue:
The first one really appears to put you on track to install or mess with the SQL Server itself, the other dialog finally provides the opportunity of opting for the Client Tools (which include, mainly, the Management Studio). This same dialog also allows checking or un-checking the selection to install the Server per se.
Credits and more info:
The screenshots were taken from Andrea Montanari's article on the Insulin Power web site. This article referenced in DOK's answer provides a step-by-step description of the installation based on the "With Tools" installer.
As said in the introduction, I learned much from CD Jorgensen and DOK's answers; I'm merely making a few things more explicit, here, and correcting a few omissions (e.g. there are some installers which carry both the Server and the client, and it is not necessary to install the server).

Resources