Unlike previous releases of SQL Server, this time Microsoft has also given us the choice of picking the operating system on which we wish to install the application. This means SQL Server is now not just limited to Windows but we can also install it on Azure, Linux, Docker, MacOS, and other OS. That said, not all features are available in SQL Server 2017 for non-window platform such as SSRS, and SSAS, but we may see them in upcoming releases.
To help you learn what SQL Server 2017 has in store for Ubuntu platform, we have come up with a two-part series, wherein we will cover its installation, features, expected improvements, and basic functions.
Our discussion in this blogpost will revolve around installation of SQL Server 2017 over Ubuntu 16.04 Operating System, along with what is on offer and what is missing in the application for non-windows platform.
Prerequisites or System Requirement
RAM – at least 4GB
HDD space – at least 6GB
Operating System – Ubuntu 16.04 or higher version
Below is the procedure to install MS SQL Server 2017 on Ubuntu with shell commands.
- Import the public repository GPG keys
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
- Register the Microsoft SQL Server Ubuntu repository
sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)”
- Run following commands to install SQL Server
sudo apt-get update
sudo apt-get install -y mssql-server
This will end like the following image.
- After the package installation completes, run mssql-conf setup and follow the prompts to set the SA password and choose your edition
sudo /opt/mssql/bin/mssql-conf setup
From the above screen, choose the edition of SQL Server you want to install.
A PAID edition verifies that you have the appropriate number of licenses in place to install and run the application.
- We selected Evaluation Edition (first option), which is free with 180-day trial.
- On this screen, type YES and continue and then choose language from the give options
After selecting the preferred language, there will be a prompt for password. For security purpose, choose a password, at least 8 characters long. We tried a smaller password and system returned an error.
- After completing the configuration process, verify that the service is running.
- We now have to install the SQL Server command-line tools. For this, again we will start with importing the public repository GPG keys, followed by registering the Microsoft Ubuntu Repository.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
- Now, update the sources list and run the installation command with the unixODBC developer package
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
- Type Y to proceed
- Choose ‘Yes’ for the process to continue and on the following page again select ‘Yes’.
- Verify connection with SQLCMD
sqlcmd -S localhost -U SA -P ‘<YourPassword>’
The server is now connected. We can also check for system databases.
Now that we have installed and configured SQL Server 2017 on Ubuntu 16.04 Operating System, let us learn about the operations features that are a part of the bundle.
- It provides command-line tools such as sqlcmd, bcp, sqlpackage, mssql-conf
- It has SQL agent for job creation and maintenance, along with SQL Server Integration services support
- It supports Replication, Log Shipping, DMVs, and Full Text Search
- It has all major language compatibility and supports compression feature
- It supports In Merory OLTP, ColumnStore as well as Partitioning features
Some of the missing support features in the non-windows SQL Server 2017 that we may see in the new SPs upgrades.
- Missing Stretch Database support, which is pivotal in cloud environment
- Polybase DB support
- DB mirroring and R services
There have also been some improvements in this release.
- Support for native Linux paths, IPv6 support and enabled Transparent Layer Security(TLS) encryption
- Unattended installation support with environment variables
- Cross-platform Visual Studio Code mssql-server extension
- Cross-platform script generator, mssql-scripter
- Cross-platform Dynamic Management View (DMV) monitor, DBFS tool
This completes our information on the hits and misses of SQL Server 2017 for non-windows operating systems.
We have learned to install SQL Server 2017 on Ubuntu 16.04 Operating System, and come to know about the supported features and missed features that we may see in the next release. In the next blog post, we will be focusing on DB creation, table creation, SSIS configuration and other functionalities of SQL Server 2017 on Ubuntu platform.
Until next time!
- Working with SQL Server Database on Microsoft Azure (Part 2)
The huge volume of data generated around us, today, requires optimum storage and management to have any benefit for organizations. With a host of advantages that MS Azure possesses, especially…
- Microsoft SQL Server Execution Plan
In a database environment, certain questions related to performance pop up repeatedly: why is my query running slowly? And why is SQL Server not using the index? etc. As a…
- Different Application of Joins in SQL
Structurally organized with large quantities of information, databases are the backbone of every organization. That is why companies invest in database applications such as MySQL, PostgreSQL, Microsoft SQL Server and…
- Working with SQL Server Database on Microsoft Azure (Part 1)
One of the trickiest implementation for any organization is the database. They require dedicated server and someone to manage it. Cloud services such as Microsoft Azure give organizations opportunity to…
- Column Store Index in SQL Server 2012
This post is about the new feature, i.e., Column Store Index which is available since SQL 2012 version. Microsoft has released column store index to improve the performance by 10x.…
- SQL Server – Reporting Services Migration
A while back, I got a task in my project, which was to migrate SQL Server Reporting Services from SQL 2008 to SQL 2012. Now, I had two ways of…