How to Install and Use MS SQL Server on Linux

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Gabriel Cánepa

Gabriel Cánepa is a GNU/Linux sysadmin and web developer from Villa Mercedes, San Luis, Argentina. He works for a worldwide leading consumer product company and takes great pleasure in using FOSS tools to increase productivity in all areas of his daily work.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

41 Responses

  1. Travis Banger says:

    First of all, many thanks to Gabriel for providing this important resource. I have been unable to obtain any help in the Microsoft forums OR in the Linux forums. This situation is like the Capulets vs. the Montagues, or the Hatfields vs. the McCoys. :-)

    This has been quite an ordeal, not easy by any stretch. The installation was the only part that worked flawlessly. The server does not seem to be running and I cannot locate a proper version of the client (SSMS: SQL Server Management Studio Express).

  2. Guido Rolon says:

    Excellent article, very clear installation instructions..

  3. kalpesh says:

    i am not able to create table from SSMS 2016 it gives error about “the backend version is not supported to design database diagram or table” which is correct version of SSMS to use with Linux

  4. Ashvin says:

    Please don’t get me wrong. It’s pointless imho. It’s like using a Toyota engine in a Lamborghini, when the default engine is already available.

  5. Samir Kazi says:

    Does it support installation for multiple instances. I tried installing second instance but its showing me

    Loaded plugins: langpacks, ulninfo
    Package mssql-server- already installed and latest version
    Package mssql-tools- already installed and latest version
    Nothing to do.

    Is this a limitation of having one instance per Linux Server?

  6. Ramon F Herrera says:

    I have a comment and question. I have never used MS SQL Server (or client, nothing). However, I became enthusiastic with the possibility of running a Linux version.

    I downloaded “SQL Server Management Studio Express 2016” but it is too new! It filled my hard disk with too many packages. The SSMS version shown on the picture (2008 R2) seems perfect for me.

  7. Ramon F Herrera says:

    “I will not promote Microsoft product to Linux users”
    That is because you are not a professional. You MUST take into account the needs of the users, not YOURS.

  8. Ramon F Herrera says:

    Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
    Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Error code 0x102.
    Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while e
    stablishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQ
    L Server is configured to allow remote connections. For more information see SQL Server Books Online..

    • Ramon F Herrera says:

      I would like to make an important comment about my post. I found the reason for the ODBC Driver errors, and they have nothing to do with Microsoft. I rented a CentOS 7 server with the main purpose of experimenting and learning SQL Server on Linux. It turns out that a lot of ports are blocked. BTW: This was a way to learn that every time the sqlcmd program runs, it attempts to “call home”.

      • Gabriel A. Canepa says:

        CentOS 7 comes with firewalld installed and running out of the box. That is why I advised to open port 1433/tcp in that case. Thank you for your comments!

  9. Ramon F Herrera says:

    “1. Insert the following lines into /etc/yum.repos.d/sql-server.repo”
    Gabriel: it is not clear whether the user should CREATE an inexistent file or MODIFY an existent one.

    • Gabriel A. Canepa says:

      What difference does it make? Either way, invoking a text editor with the filename as argument will bring up the file – regardless of whether it exists or not.

  10. Xiao Guoan says:

    I will not promote Microsoft product to Linux users

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.