Install Microsoft SQL Server 2017 on Fedora 29/CentOS 7

|
Last Updated:
|
|
install mssql centos fedora

Welcome to our guide on how to install Microsoft SQL server 2017 on Fedora 29/CentOS 7.

Installing Microsoft SQL Server 2017 on Fedora/CentOS

Prerequisites

Before you can follow through, ensure that your server meets the following minimum requirements;

  • At least 2GB of RAM
  • 64-bit CPU architecture
  • At least 6GB of disk space
  • At least 2x2GHZ CPU cores
  • EXT4 or XFS filesystem

To install MS SQL server 2017 on Fedora 29/CentOS , you need to create the MS SQL repository on your Fedora 29/CentOS 7 server since mssql-server package is not available on the default repos.

Create MS SQL repository

Run the command below to install Fedora/CentOS MS SQL repo.

wget -O /etc/yum.repos.d/mssql-server-2017.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

Install Microsoft SQL Server 2017

Once the MS SQL repository is created, install MS SQL server.

On CentOS 7, run;

yum install mssql-server

On Fedora 29, run;

dnf install mssql-server

You can however use yum on both.

Setup MS SQL server

Once the installation is done, run the setup script, /opt/mssql/bin/sqlservr-setup, to setup MS SQL server system administrator (SA) password and choose your MS SQL edition. You can also choose your server edition using this microsoft sql server software. Note that the Evaluation, Developer and Express editions are free-licensed. In this case, we are going to choose the Developer Edition. All the limitations have been removed on the Developer edition hence it is fully functional.

/opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID)
  7) Enterprise Core (PAID)
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:yes

Enter the SQL Server system administrator password: P@SSWORD12
Confirm the SQL Server system administrator password: P@SSWORD12
Configuring SQL Server...

ForceFlush is enabled for this instance. 
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

MSSQL Server Service

MS SQL setup is done. It is now running and has been automatically enabled to start on system reboot.

systemctl status mssql-server
 mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-01-16 14:48:43 EST; 8min ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
 Main PID: 3930 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ├─3930 /opt/mssql/bin/sqlservr
           └─3951 /opt/mssql/bin/sqlservr

The service is also enabled to run on system boot;

systemctl is-enabled mssql-server
enabled

MSSQL Service Port

The default port for MS SQL is 1433/TCP.

ss -altnp | grep 1433
LISTEN     0      128          *:1433                     *:*                   users:(("sqlservr",pid=3951,fd=133))
LISTEN     0      128         :::1433                    :::*                   users:(("sqlservr",pid=3951,fd=138))

Open MSSQL Service Port on Firewall

Configure firewalld to allow external access to MS SQL server.

firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload

Administering MSSQL Server

MS SQL has been successfully installed on Fedora 29/CentOS 7 server.

Install MS SQL server command line management tools

In order to manage the database tasks, you need to install MS SQL server command line management tools such as bcp and sqlcmd. These tools are not available on the default Fedora/CentOS repos. Hence create the repository as shown below;

wget -O /etc/yum.repos.d/mssql-tools.repo https://packages.microsoft.com/config/rhel/7/prod.repo

Install MS SQL command line tools

yum install -y mssql-tools unixODBC-devel

The sqlcmd command is installed to /opt/mssql-tools/bin/. To ensure that the command is available on your default PATH environment, create a symbolic to /usr/bin/ as shown below;

ln -s /opt/mssql-tools/bin/sqlcmd /usr/bin/

The sqlcmd is now available under /usr/bin/.

which sqlcmd
/usr/bin/sqlcmd

Connecting to MSSQL Server

Connect locally to you MS SQL server as SA and create a sample database;

sqlcmd -S localhost -U SA

You are prompted for password;

Password: <SA password created above>

Successful login takes you to sqlcmd prompt, 1>. Note that an sql statement is not executed until you enter GO.

1> CREATE DATABASE testdbA
2> GO
1>

Verify the test database creation.

1> select name from sys.databases
2> go

If you need to learn more on MS SQL statements, look here. We hope this article helps.

SUPPORT US VIA A VIRTUAL CUP OF COFFEE

We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!

Photo of author
koromicha
I am the Co-founder of Kifarunix.com, Linux and the whole FOSS enthusiast, Linux System Admin and a Blue Teamer who loves to share technological tips and hacks with others as a way of sharing knowledge as: "In vain have you acquired knowledge if you have not imparted it to others".

2 thoughts on “Install Microsoft SQL Server 2017 on Fedora 29/CentOS 7”

Leave a Comment