How to Install and Configure MS SQL (Beta) on CentOS 7

In this article, we will learn about – How to install and configure MS SQL on CentOS 7. Microsoft has recently announced that they are planning to release the MS SQL for Linux. Specially the beta versions for RedHat enterprises Linux, Centos & Ubuntu but only with 64-bit editions.
A machine with a minimum of 4 GB RAM and 30 GB Hard disk space.
A machine installed with CentOS 7.
A user with root privileges or root user.
Since MS SQL is not available with the default CentOS repository, we needed to add the MS SSQL repository details to the local yum repository.
To install the MS SQL Server using the command line, we needed to add the repository to the local yum repo.
# curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 220 100 220 0 0 257 0 --:--:-- --:--:-- --:--:-- 257
Once the repository is updated, we will run the below command to install the MS-SQL server
# yum update
# yum install -y mssql-server
...
...
Resolving Dependencies
--> Running transaction check
---> Package mssql-server.x86_64 0:14.0.1.246-6 will be installed
--> Processing Dependency: bzip2 for package: mssql-server-14.0.1.246-6.x86_64
--> Processing Dependency: gdb for package: mssql-server-14.0.1.246-6.x86_64
--> Running transaction check
---> Package bzip2.x86_64 0:1.0.6-13.el7 will be installed
---> Package gdb.x86_64 0:7.6.1-80.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mssql-server x86_64 14.0.1.246-6 packages-microsoft-com-mssql-server 138 M
Installing for dependencies:
bzip2 x86_64 1.0.6-13.el7 base 52 k
gdb x86_64 7.6.1-80.el7 base 2.4 M
Transaction Summary
================================================================================
Install 1 Package (+2 Dependent packages)
...
...
+-------------------------------------------------------------------+
| Please run /opt/mssql/bin/sqlservr-setup to complete the setup of |
| Microsoft(R) SQL Server(R). |
+-------------------------------------------------------------------+
Verifying : mssql-server-14.0.1.246-6.x86_64 1/3
Verifying : gdb-7.6.1-80.el7.x86_64 2/3
Verifying : bzip2-1.0.6-13.el7.x86_64 3/3
Installed:
mssql-server.x86_64 0:14.0.1.246-6
Dependency Installed:
bzip2.x86_64 0:1.0.6-13.el7 gdb.x86_64 0:7.6.1-80.el7
Complete!
Once the installation is completed, we will run sqlservr-setup script to setup password of the SA; we needed to give a strong password for the SA account (with a min of 8 characters, lower and upper case letters with numbers from 1 to 10 or any non-alpha numeric characters)
# sudo /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup
You can abort setup at any time by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.
Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:
Setting a password for the system administrator (SA) account
Do you wish to start the SQL Server service now? [y/n]: Y
Do you wish to enable SQL Server to start on boot? [y/n]: y
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service to /usr/lib/systemd/system/mssql-server-telemetry.service.
Setup completed successfully.
Once the configuration is done, we will restart the MS SQL services and will see the status of the services with the below command –
To restart the services
# systemctl start mssql-server
See the status of the services
# systemctl status mssql-server
mssql-server.service - Microsoft(R) SQL Server(R) Database EngineLoaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2016-12-02 15:52:33 IST; 5min ago
Main PID: 2299 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─2299 /opt/mssql/bin/sqlservr
└─2307 /opt/mssql/bin/sqlservr
Dec 02 15:52:37 localhost.localdomain sqlservr[2299]: 2016-12-02 10:22:37.31 spid17s....
Dec 02 15:52:37 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/mssql-ser...'
Dec 02 15:52:37 localhost.localdomain sqlservr[2299]: 2016-12-02 10:22:37.53 spid6s ....
..
..
Dec 02 15:57:40 localhost.localdomain sqlservr[2299]: 2016-12-02 10:27:40.21 spid51 ...'
Dec 02 15:57:43 localhost.localdomain systemd[1]: Started Microsoft(R) SQL Server(R)....Hint: Some lines were eclipsed, use -l to show in full.
We needed to open the firewall settings so that MS SQL can be accessed, below is the command to open the firewalls
# sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
# sudo firewall-cmd –reload
We needed to download the Microsoft repository.
# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 193 100 193 0 0 213 0 --:--:-- --:--:-- --:--:-- 213
Once the repository is installed on the local machine, we can use the below command to install the MS SQL tools with the below command –
# yum install mssql-tools
Loaded plugins: fastestmirror
packages-microsoft-com-prod | 2.9 kB 00:00:00
packages-microsoft-com-prod/primary_db | 4.6 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.digipower.vn
* extras: mirror.digistar.vn
* updates: mirror.digistar.vn
Resolving Dependencies
========================================================================================
Package Arch Version Repository Size
========================================================================================
Installing:
mssql-tools x86_64 14.0.1.246-1 packages-microsoft-com-prod 249 k
Installing for dependencies:
libtool-ltdl x86_64 2.4.2-21.el7_2 updates 49 k
msodbcsql x86_64 13.0.1.0-1 packages-microsoft-com-prod 3.8 M
unixODBC-utf16 x86_64 2.3.1-1 packages-microsoft-com-prod 329 k
Transaction Summary
========================================================================================
Install 1 Package (+3 Dependent packages)
Total download size: 4.5 M
Installed size: 4.5 M
Is this ok [y/d/N]: ^CN
Exiting on user command
Your transaction was saved, rerun it with:
yum load-transaction /tmp/yum_save_tx.2016-12-02.17-18.RpEVqg.yumtx
Do you accept the license terms? (Enter YES or NO)YES
Installing : msodbcsql-13.0.1.0-1.x86_64 3/4
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES,'
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)YES
Dependency Installed:
libtool-ltdl.x86_64 0:2.4.2-21.el7_2 msodbcsql.x86_64 0:13.0.1.0-1
unixODBC-utf16.x86_64 0:2.3.1-1
Complete!
Once the tools are installed on the machine, we will test the below commands and general syntax to connect to the MS SQL server.
Syntax
# sqlcmd –S IP-ADDRESS –U SA –P ‘<YOUR SYSTEM PASSWORD’
# sqlcmd sqlcmd -S localhost -U SA -P Test@1234
1>CREATE DATABASE TEST1;
2>GO;
3>quit
In the above article, we have learnt – How to install MS SQL Server, MS SQL command line tools to connect to the server. Also we have learnt – How to change or setup the SA account password for the MS SQL.