I need the ODBC SQL driver 17.2.01 MSI - sql

I need to upgrade Microsoft SQL Server Management Studio 17 (AKA ssms) or perhaps just the ODBC SQL driver because when I try to open a DB from copied datafiles (mdf and ldf) that came from another machine it cannot be opened because it is version 869. And my machine apparently supports version 852 and earlier.
If I want to sideload the latest ssms 18.4, I can't upgrade because it needs to remove that version. There's a pop-up that it needs 'Microsoft ODBC Driver 17 for SQL server' (that needs a msodbcsql.msi file).
So I need the msi of that specific version, could anyone provide this for me because I can't find it anywhere online. :-(
I even ran the FixMissingMSI tool that scans your system for missing msi's:
https://github.com/suyouquan/SQLSetupTools

I ran into similar problem today. Performed uninstall of ODBC 17 driver using following tool from Microsoft,
https://support.microsoft.com/en-nz/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed
After doing this SSMS setup was successful.

Related

Restore older DTExec.exe version?

We have SSMS 2012 installed on several servers (mix of physical and virtual hardwares) with the 64-bit DTExec.exe Version 11.0.2100.60 that we use to run SSIS packages. The SSIS packages are stored in a Microsoft SQL Server 2016 on another physical server.
On one of the SSMS 2012 servers, I installed SQL Server Data Tools for VS2017. Since then, one of our SSIS packages would not run to completion. It aborts about halfway, specifically, when it is about to run (or already running?) the script component of the package. When it aborts, %ERRORLEVEL% is set to a high negative number (-1073741819). I make sure the 64-bit DTExec.exe Version 11.0.2100.60 is the one being used to run the package by putting its path, C:\Program Files\Microsoft SQL Server\110\DTS\Binn, ahead of any other versions’ paths in the PATH environment variable. (It also shows “64-bit” and the version number inside the DOS box where the package is running.)
If I run the same failing package from another SSMS 2012 server using its local copy of the same 64-bit DTExec.exe 11.0.2100.60, the package runs fine. So I suspect the 64-bit DTExec.exe 11.0.2100.60 on the server where I installed SSDT 2017 somehow got “corrupted” (?).
I have uninstalled SSDT 2017 but still the package fails.
Curiously, if I use the 32-bit version instead of DTExec.exe with the same version 11.0.2100.60, the package runs fine. So all the more reason for me to suspect that the 64-bit DTExec.exe version was “corrupted”.
Is there any way to “repair” the 64-bit DTExec.exe Version 11.0.2100.60 to restore it to its former glory? I realize we can just use the 32-bit version but we’d like to use the same version of DTExec.exe across all our SSMS 2012 servers so they all share identical PATH environment variables, .BAT files, etc..
Any leads appreciated – thank you!
EDIT: I'd also like to add that before failing, a DOS window pops up then very quickly closes. The DOS window seems blank but it could be that it just closes very fast for me to see. On other SSMS servers where the packages runs to completion, no DOS window pops up.

Where can I download SSMS 2016?

Currently I use SSMS 17, however Gearhost, the website I am trying to deploy my database to, currently only use SQL Server version 13, which I believe to be SSMS 16.
The exact error is;
Error restoring database The database was backed up on a server
running version 14.00.1000. That version is incompatible with this
server, which is running version 13.00.4451. Either restore the
database on a server that supports the backup, or use a backup that is
compatible with this server.
Is there a place I can download this older version?
from docs:
The SSMS 17.x installation does not upgrade or replace SSMS versions 16.x or earlier. SSMS 17.x installs side by side with previous versions so both versions are available for use. If a computer contains side by side installations of SSMS, verify you start the correct version for your specific needs. The latest version is labeled
You can download it here
MSFT currently (May 2020) provides versions of SSMS back to 16.5.3.
Please use this link for the overview. The download of version SSMS 2016 can be found here.
To download older versions of SSMS you need to go here and select the version at the top of the left nav bar, otherwise it defaults to the latest version.
The error being encountered is due to an attempt to restore a SQL Server 2017 database to a SQL 2016 instance. It's not an issue with SSMS versions. SQL databases are not backwards compatible. You can restore a backup from an older version instance to a newer version instance (2016 to 2017), the restore will perform the upgrade, but you cannot restore a backup from a newer version instance to an older version instance (2017 to 2016 for example).
here, click on the version!
Microsoft docs
https://learn.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver15#previous-ssms-releases

LinqPad Error: Unable to find the .Net Framework Data Provider

I am new to LinqPad.
I downloaded a .sdf file from the internet (i know what it is) I wanted to view its tables. So I googled "how to read .sdf files" and came across Linqpad, which I installed.
When I browse to my .sdf file from LinqPad and try to open it as a connection, I get the message "Unable to find the requested .Net framework data provider, it may not be installed"
Does this mean i need to install SQL CE before using LinqPad? I assumed LinqPad was the program to view tables, run queries, etc and that I did not need the original db program.
Please advise on what the error refers to and best way to resolve. thanks
To answer your question, yes you do have to install it. I just ran across this problem while trying to connect to a Sql CE 3.5 DB in LinqPad. You have to have the proper version installed first. I only had 4.0 installed and was trying to connect to a 3.5 DB. So had to use the SSCERuntime msi found here to install the items shown below:
Just go to that link and download it somewhere and then run the msi(s).
Note the following:
It is mandatory to install both the 32-bit and the 64-bit version of
SQL Server Compact MSI files on a 64-bit Computer. Installing only the
32-bit version of the SQL Server Compact 3.5 SP2 MSI file on a 64-bit
computer will lead to failure of the existing SQL Server Compact 3.5
applications on the Computer.
So just follow the instructions shown in the "Install.txt" that is downloaded with the msi's.
After installing them I had to close and reopen LinqPad and then the connection worked.
I'll add a variant on Kasper's solution. For the case of connecting to SQL CE 4, I appeared to already have the SQL CE4 runtimes installed yet I still got the same error.
Trying to install the latest SQL CE 4 from Microsoft reported that a newer version was already installed and aborted the install.
Uninstalling the "newer version" and then installing the latest download fixed the problem for me.
I'm not sure how I got that original version, that's "newer" than the latest from Microsoft. Possibly from an older Visual Studio install.
You first need to make a connection to your database. You can do that by clicking "Add Connection", "Default Linq to Sql connection" and then marking your version of SQL CE on top and providing the information.
LinqPad is not just viewing tables, run queries etc. It is much more than that.

Robocopy: ERROR : Invalid Parameter #4 : "/MT"

I have a server that I am working on that is using Windows 2008 SP2 Enterprise and I have found that the installed version of Robocopy is missing the MT (multithread) switch.
Since I'm working with enterprise hardware, having multiple threads can really help my performance so I'd prefer not to have to remove the switch from the copy operation that I am attempting.
What I don't understand is why the installed version is missing this switch since this is a 2008 windows instance. Was the MT switch introduced in 2008R2?
Is there any way I can safely update this version of robocopy (such as copying the executable from one of my other environments)?
To provide just a little background for contextual purposes this command is being issued as part of an automated backup process developed in SSIS. This process executes normally in other environments, so I'm trying to establish a means of upgrading all the older versions with a more recent version of robocopy to maintain functionality. Otherwise I will have to contextually disable the inclusion of the switch which is a pain.
According to the documentation on Technet, the /MT parameter applies to Server 2008 R2 but not Server 2008. I'm not sure if this is due to just the version of the robocopy executable or some other restriction.
What is the File Version of your robocopy.exe, as shown in the file properties?
You might try to pull the newest version of Robocopy (6.1.7601) out of KB2639043 and see if that works for you. Though, information I found on this thread suggests that newer versions of Robocopy don't work at all on Server 2008.

Handling the current version of Data-tier Application in SQL Server 2012

I have some problems with tracking versions of my DACs. I was unable to see the current version of database. Luckily I found this post:
How do I find the current version of a SQL Server data-tier application?
The second answer did the trick, now I can see the current version using SQL statement:
select instance_name,type_version from msdb.dbo.sysdac_instances
Now I am able to see current version and version of new dacpac but in very ugly way. I still have some questions/uncertainties.
For some reason, I don't see Data-tier Applications under Management in SSMS. I was only founding discussions about this for SQL 2008 R2 so I'm not sure is that abandoned in SQL 2012 or I did something wrong.
When upgrading Data-tier Application in SSMS, I can only see dacpac version when reaching Summary step in upgrade wizard. When I select new dacpac in Select Package step, I expect to see the version and description of selected dacpac in the wizard below (as stated on numerous tutorials) but nothing appears. Even in summary step I can't see the version of the current DAC database which was the case in 2008 R2 according to the images I found in those tutorials.
Is there any way to handle version comparing a bit better than this, like showing the current version and new version on the same place? Is there a way to display warning if you are trying to upgrade using dacpac with same or lower version number?
Thx
marko