In SQL Server 2016 there have been several significant changes to the SQL Client Tools. Central to these changes are two primary goals:
- The ability to ship tooling updates on a regular, monthly cadence
- A single version of tools that work with all supported SQL Server versions on-premises or in a Virtual Machine, Azure SQL Database, and Azure SQL Data Warehouse
In addition to numerous new feature enhancements such as supporting Always Encrypted, Stretch Database, two-node basic availability groups for Standard Edition, PolyBase, Temporal Databases, and many more. There are also fundamental changes to SQL Server Management Studio (SSMS) and the other tools included in the SQL Server Client Tools package. These changes help align the release and distribution of the SQL Client Tools with the processes currently used by the SQL Server Data Tools.
Mar 19, 2018 As I mentioned above, SQL Server Native Client is the subset of the feature pack. One we open the link for downloading feature pack, click on “Download” button and we get various packages to download. We need to choose sqlncli.msi as shown below (for 64 bit). If you are using SQL Server as your data source, the 64-bit SQL Native Client installer will install both the 64-bit and 32-bit drivers side-by-side. If you are extracting data from a non-Microsoft database platform, you will need to check with the database manufacturer to determine how to install their drivers side-by-side.
Note: The SQL Client Tools package contains tools such as SQL Server Management Studio, Profiler, Database Engine Tuning Advisor, SQL Server PowerShell and several other management tools.
Monthly updates
SQL Server Management Studio now has a dedicated download page that’s updated each month with the latest version of the SQL Client Tools. This download is easily searchable via Bing and Google. The download link points to a self-contained install package that contains SQL Server Management Studio, the other SQL client tools and their dependencies. You do not need to be connected to the internet to install SSMS after you download the installer package.
Simpler, faster tools installation
Setup for the SQL Client Tools package has been re-engineered to be an independent, self-contained installation package. This package contains the SQL Client Tools and all of its required dependencies in a single file. The installation process has been simplified to be a single-click install experience.
Setup for SQL Server 2016 has been updated to use this new package as well. The Installation tab in setup now has two additional links added as shown below:
Clicking the link to install the tools opens the MSDN download page in your default browser to optimize for easy access to the latest tools release. This download page has information on the latest update as well as the download link to the single file install package. For users who wish to install tools on numerous machines, this download package can be saved and included in a software distribution system, or simply saved on a file share for easy access or scripted install.
Visual Studio 2015 Shell
SQL Server Management Studio continues to be built on the Visual Studio Isolated Shell. It has now been updated from the VS 2010 shell to the VS 2015 shell. This provides SSMS with a modern foundation to build on. In upcoming monthly releases many of the experiences within SSMS will be migrated to take advantage of the new services this shell provides.
New telemetry and feedback
SQL Server Management Studio now collects feature usage telemetry. This telemetry is completely anonymous and provides the engineering team with visibility into which features in SSMS are most used, may be having issues, or could be improved. This enables the engineering team to do data-driven improvements in each monthly update in the areas that will help customers the most.
As the information is anonymous, customers should still use Connect or CSS to address specific issues they may be having with the tools. Those channels will continue to be the way to get personalized help and support.
Q&A
Will the full copy of SSMS installer be available for offline install (i.e. behind the firewall installs)?
Yes, the client tools package that includes SSMS will be available as a self-contained .EXE file. This .EXE will install SSMS and other client tools as well as all the required dependencies for the tools. This package can be saved locally and subsequently executed on machines not directly connected to the internet.
- How large will this be?
The download package is approximately 700 MB for the tools and all required dependencies. In future updates we plan on optimizing the download size for incremental updates and dependency checking. - Can this be pushed out via tools SCCM?
As a self-contained executable, installing the tools package through a software distribution system such as System Center Configuration Manager should work fine.
Does this package include the SQL Management Tools and the ‘Advanced Management Tools’ (SSMS, ADV_SSMS features in setup lingo)?
Yes, the tools package contains all the tools that were previously included in the Management Tools Basic and Management Tools Advanced packages. These were the tools that would be installed if both tools check-boxes were selected in previous versions of SQL Server setup.
Does this copy of SSMS require a license for installation? Other than SQL Client Access License?
Specifics of licensing are covered in the EULA included in the tools package. All of the tools in the package are free and do not require a PID or license key to install.
Can I redistribute the SSMS installation package with my applications?
Yes, you can redistribute the SSMS installation package that you downloaded from the MSDN download page noted earlier. As part of its installation, your application installer can launch the SSMS installer, where users can view and accept the EULA included in the SQL tools package.
Can this version of SSMS connect to SQL Server 2008/2008R2/2012/2014/2016?
Yes, this version of SSMS works with all supported versions of SQL Server. There is no explicit block for SQL Server 2000 or SQL Server 2005, but some features may not work properly. In addition to on-premises versions of SQL Server, the monthly updates of SSMS are the best way to enjoy the latest updates in Azure SQL Database.
Will the version of SSMS I install be compatible with later versions of the engine (say I only update SSMS every six months and the engine every three)?
While there will not be a specific block, an “older” version of SSMS may not work properly with new features in a newer version of SQL Server. Older versions of SSMS will not have updates required for new features.
Is there a time-bomb associated with this SSMS installation?
No, the new version of SSMS will no longer have any form of time-bomb.
Is there a frequency at which it should be mandatorily upgraded?
It is not mandatory to update SSMS. Updates to the tools can be done at the frequency that best suits your needs. Each monthly update will include improvements and bug fixes and support for new features in Azure SQL Database. As a best practice, we strongly recommend that you install the latest monthly update of SSMS to ensure that you can enjoy the latest capabilities in the SQL platform and also stay current with enhancements and bug fixes. The SSMS download page will only offer the latest monthly update of SSMS and older monthly releases will not be available.
Will subsequent upgrades to SSMS require a reboot?
SSMS itself does not typically require a reboot. The typical cause of reboot is due to installs of the required version of the .Net framework. With this new version of SSMS, the tools no longer require .Net 3.5 installed; the framework version installed is .Net 4.6.1.
Also, If the tools are also installed on a machine with the engine, it is possible a reboot will be required if shared components are in use. We plan to remove all shared components between the tools and the engines in a subsequent monthly update, which will help remove potential reboots and reduce change of impact to engine behavior due to new shared components being installed. Until that time, the tools setup package will warn users about any potential impact.
Can I have multiple copies of the new SSMS installed on the same machine?
No, only a single copy of this new generation of SSMS can be installed on a given machine, as each monthly update will update the previous install. However, you can install the new SSMS side-by-side with SSMS from previous versions of SQL Server. For example, SSMS 2014 can be installed side-by-side with the latest monthly update on the same computer.
What will be the last version on the RTM DVD?
SSMS will no longer be on the RTM DVD; it is available as a separate download. As mentioned above, how often to update is up to the user and off-line installs are fully supported.
What if you need to patch SSMS? Does it come in a CU fix?
As SSMS is not embedded as a feature of the engine setup, it no longer requires CU updates. This means SQL Server 2016 CUs and SPs in the future will no longer contain updates for SSMS. Fixes will be done primarily through the monthly updates. Hence, it may be necessary to update to a newer monthly update to get a particular bug fix. The tools are still fully supported through the existing support processes with CSS.
Why are some deprecated tools like Profiler still included?
Though some tools, such as Profiler, have been announced as deprecated many users still depend on them in day to day operations. The deprecation announcement is indication that the tool or technology will not see future advancement. With further enhancement in mainline tools such as SSMS, deprecated tools may be removed in a future update.
-->This article explains how to install the Microsoft ODBC Driver for SQL Server on Linux and macOS, as well as the optional Command-Line Tools for SQL Server (
bcp
and sqlcmd
) and the unixODBC Development Headers.Microsoft ODBC Driver 17 for SQL Server
Important
If you installed the v17
msodbcsql
package that was briefly available, you should remove it before installing the msodbcsql17
package. This will avoid conflicts. The msodbcsql17
package can be installed side by side with the msodbcsql
v13 package.Debian
RedHat Enterprise Server
SUSE Linux Enterprise Server
Ubuntu
Note
- Driver version 17.2 or higher is required for Ubuntu 18.04 support.
- Driver version 17.3 or higher is required for Ubuntu 18.10 support.
MacOS
Microsoft ODBC Driver 13.1 for SQL Server
Debian 8
RedHat Enterprise Server 6
RedHat Enterprise Server 7
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 12
Ubuntu 15.10
Ubuntu 16.04
Ubuntu 16.10
OS X 10.11 (El Capitan) and macOS 10.12 (Sierra)
Microsoft ODBC Driver 13 for SQL Server
RedHat Enterprise Server 6
RedHat Enterprise Server 7
Ubuntu 15.10
Ubuntu 16.04
SUSE Linux Enterprise Server 12
Offline installation
If you prefer/require the Microsoft ODBC Driver 13 to be installed on a computer with no internet connection, you will need to resolve package dependencies manually. The Microsoft ODBC Driver 13 has the following direct dependencies:
- Ubuntu: libc6 (>= 2.21), libstdc++6 (>= 4.9), libkrb5-3, libcurl3, openssl, debconf (>= 0.5), unixodbc (>= 2.3.1-1)
- Red Hat:
glibc, e2fsprogs, krb5-libs, openssl, unixODBC
- SuSE:
glibc, libuuid1, krb5, openssl, unixODBC
Each of these packages in turn has their own dependencies, which may or may not be present on the system. For a general solution to this issue, refer to your distribution's package manager documentation: Redhat, Ubuntu, and SUSE
It is also common to manually download all the dependent packages and place them together on the installation computer, then manually install each package in turn, finishing with the Microsoft ODBC Driver 13 package.
Redhat Linux Enterprise Server 7
- Download the latest
msodbcsql
.rpm
from here: https://packages.microsoft.com/rhel/7/prod/ - Install dependencies and the driver
Ubuntu 16.04
- Download the latest
msodbcsql
.deb
from here: https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql/ - Install dependencies and the driver
SUSE Linux Enterprise Server 12
- Download the latest
msodbcsql
.rpm
from here: https://packages.microsoft.com/sles/12/prod/ - Install the dependencies and the driver
Once you have completed the package installation, you can verify that the Microsoft ODBC Driver 13 can find all its dependencies by running ldd and inspecting its output for missing libraries:
Microsoft ODBC Driver 11 for SQL Server on Linux
Before you can use the driver, install the unixODBC driver manager. For more information, see Installing the Driver Manager.
Installation Steps
Important
These instructions refer to
msodbcsql-11.0.2270.0.tar.gz
, which is installation file for Red Hat Linux. If you are installing the Preview for SUSE Linux, the file name is msodbcsql-11.0.2260.0.tar.gz
.To install the driver:
- Make sure that you have root permission.
- Change to the directory where the download placed the file
msodbcsql-11.0.2270.0.tar.gz
. Make sure that you have the *.tar.gz file that matches your version of Linux. To extract the files, execute the following command,tar xvzf msodbcsql-11.0.2270.0.tar.gz
. - Change to the
msodbcsql-11.0.2270.0
directory and there you should see a file called install.sh. - To see a list of the available installation options, execute the following command: ./install.sh.
- Make a backup of odbcinst.ini. The driver installation updates odbcinst.ini. odbcinst.ini contains the list of drivers that are registered with the unixODBC Driver Manager. To discover the location of odbcinst.ini on your computer, execute the following command:
odbc_config --odbcinstini
. - Before you install the driver, execute the following command:
./install.sh verify
. The output of./install.sh verify
reports if your computer has the required software to support the ODBC driver on Linux. - When you are ready to install the ODBC driver on Linux, execute the command:
./install.sh install
. If you need to specify an install command (bin-dir
orlib-dir
), specify the command after the install option. - After reviewing the license agreement, type YES to continue with the installation.
Installation puts the driver in
/opt/microsoft/msodbcsql/11.0.2270.0
. The driver and its support files must be in /opt/microsoft/msodbcsql/11.0.2270.0
.To verify that the Microsoft ODBC driver on Linux was registered successfully, execute the following command:
odbcinst -q -d -n 'ODBC Driver 11 for SQL Server'
.Use Existing MSDN C++ ODBC Samples for the ODBC Driver on Linux shows a code sample that connects to SQL Server using the ODBC driver on Linux.
Uninstalling
You can uninstall the ODBC driver 11 on Linux by executing the following commands:
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n 'ODBC Driver 11 for SQL Server'
Troubleshooting Connection Problems
If you are unable to make a connection to SQL Server using the ODBC driver, use the following information to identify the problem.
The most common connection problem is to have two copies of the UnixODBC Driver Manager installed. Search /usr for libodbc*.so*. If you see more than one version of the file, you (possibly) have more than one driver manager installed. Your application might use the wrong version.
Enable the connection log by editing your
/etc/odbcinst.ini
file to contain the following section with these items:If you get another connection failure and do not see a log file, there (possibly) are two copies of the driver manager on your computer. Otherwise, the log output should be similar to the following:
If the ASCII character encoding is not UTF-8, for example:
There is more than one Driver Manager installed and your application is using the wrong one, or the Driver Manager was not built correctly.
For more information about resolving connection failures, see:
- The error number specified in the URL (11001) should be changed to match the error that you see.
Driver Files
The ODBC Driver on Linux and MacOS consists of the following components:
Linux
Component | Description |
---|---|
libmsodbcsql-17.X.so.X.X or libmsodbcsql-13.X.so.X.X | The shared object (so ) dynamic library file that contains all of the driver's functionality. This file is installed in /opt/microsoft/msodbcsql17/lib64/ for the Driver 17 and in /opt/microsoft/msodbcsql/lib64/ for Driver 13. |
msodbcsqlr17.rll or msodbcsqlr13.rll | The accompanying resource file for the driver library. This file is installed in [driver .so directory]../share/resources/en_US/ |
msodbcsql.h | The header file that contains all of the new definitions needed to use the driver. Note: You cannot reference msodbcsql.h and odbcss.h in the same program. msodbcsql.h is installed in /opt/microsoft/msodbcsql17/include/ for Driver 17 and in /opt/microsoft/msodbcsql/include/ for Driver 13. |
LICENSE.txt | The text file that contains the terms of the End-User License Agreement. This file is placed in /usr/share/doc/msodbcsql17/ for Driver 17 and in /usr/share/doc/msodbcsql/ for Driver 13. |
RELEASE_NOTES | The text file that contains release notes. This file is placed in /usr/share/doc/msodbcsql17/ for Driver 17 and in /usr/share/doc/msodbcsql/ for Driver 13. |
MacOS
Component | Description |
---|---|
libmsodbcsql.17.dylib or libmsodbcsql.13.dylib | The dynamic library (dylib ) file that contains all of the driver's functionality. This file is installed in /usr/local/lib/ . |
msodbcsqlr17.rll or msodbcsqlr13.rll | The accompanying resource file for the driver library. This file is installed in [driver .dylib directory]../share/msodbcsql17/resources/en_US/ for Driver 17 and in [driver .dylib directory]../share/msodbcsql/resources/en_US/ for Driver 13. |
msodbcsql.h | The header file that contains all of the new definitions needed to use the driver. Note: You cannot reference msodbcsql.h and odbcss.h in the same program. msodbcsql.h is installed in /usr/local/include/msodbcsql17/ for Driver 17 and in /usr/local/include/msodbcsql/ for Driver 13. |
LICENSE.txt | The text file that contains the terms of the End-User License Agreement. This file is placed in /usr/local/share/doc/msodbcsql17/ for Driver 17 and in /usr/local/share/doc/msodbcsql/ for Driver 13. |
RELEASE_NOTES | The text file that contains release notes. This file is placed in /usr/local/share/doc/msodbcsql17/ for Driver 17 and in /usr/local/share/doc/msodbcsql/ for Driver 13. |
Resource File Loading
The driver needs to load the resource file in order to function. This file is called
msodbcsqlr17.rll
or msodbcsqlr13.rll
depending on the driver version. The location of the .rll
file is relative to the location of the driver itself (so
or dylib
), as noted in the table above. As of version 17.1 the driver will also attempt to load the .rll
from the default directory if loading from the relative path fails. The default resource file paths are:Linux:
/opt/microsoft/msodbcsql17/share/resources/en_US/
MacOS:
/usr/local/share/msodbcsql17/resources/en_US/