1	
  
Current Date: Wednesday, November 30, 2016
Abstract: Microsoft for the first time has issued a SQL Server database solution for Linux. The purpose of this document is
to simply step thru, with examples, the SQL Server install and setup on Linux. This software is a public preview, and is not
meant for production critical work loads.
Intended Audience: Anyone interested in the newly released Microsoft SQL Server designed for Linux.
Author:
Roger Eisentrager
Technical Solutions Manager - Cloud
ProActive Solutions, Inc.
http://www.proactivesolutions.com/
Technical Details/Assumptions completed before MS SQL Server install:
• Centos version 7 (el7.x86_64) installed and fully patched
• Disabled SELinux
• Disabled Firewall
• Centos installed on Mac OS X utilizing Oracle Virtualbox v5.1.10
• Hostname of Linux OS is “rogercen7” but could be any name in your own environment
Steps and output of Microsoft SQL Server install on Linux:
[mssql@rogercen7 ~]$ uname -a
Linux rogercen7 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
-- I created a "mssql" Linux OS end user, but it is not a requirement:
[mssql@rogercen7 ~]$ id
uid=1002(mssql) gid=54324(mssql) groups=54324(mssql),10(wheel)
  2	
  
-- Download the RH Linux configuration file (repository) for MS SQL Server
[root@rogercen7 /]# 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 292 0 --:--:-- --:--:-- --:--:-- 292
--
-- Run MS SQL Server Install
--
[mssql@rogercen7 ~]$ sudo yum install -y mssql-server
[sudo] password for mssql:
Loaded plugins: fastestmirror, langpacks
packages-microsoft-com-mssql-server | 2.9 kB 00:00:00
packages-microsoft-com-mssql-server/primary_db | 2.4 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: repos.dfw.quadranet.com
* extras: centos.mirrors.tds.net
* updates: mirror.cs.uwp.edu
Resolving Dependencies
--> Running transaction check
---> Package mssql-server.x86_64 0:14.0.1.246-6 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 138M
Transaction Summary
===========================================================================================================
Install 1 Package
Total download size: 138 M
Installed size: 138 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/packages-microsoft-com-mssql-server
/packages/mssql-server-14.0.1.246-6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY
Public key for mssql-server-14.0.1.246-6.x86_64.rpm is not installed
mssql-server-14.0.1.246-6.x86_64.rpm | 138 MB 00:00:23
  3	
  
Retrieving key from https://packages.microsoft.com/keys/microsoft.asc
Importing GPG key 0xBE1229CF:
Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"
Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf
From : https://packages.microsoft.com/keys/microsoft.asc
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mssql-server-14.0.1.246-6.x86_64
1/1
+-------------------------------------------------------------------+
| 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/1
Installed:
mssql-server.x86_64 0:14.0.1.246-6
Complete!
--
-- Run MS SQL Server Setup
--
[mssql@rogercen7 ~]$ sudo /opt/mssql/bin/sqlservr-setup
[sudo] password for mssql: PASSWORD
Microsoft(R) SQL Server(R) Setup
You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388 and found
in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? If so, please type "YES": YES
Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:
Setting system administrator (SA) account password...
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]: n
You can use sqlservr-setup --enable-service to enable SQL Server to start
  4	
  
at boot.
Setup completed successfully.
--
-- Check Status
--
[mssql@rogercen7 ~]$ systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2016-11-30 09:12:21 CST; 4min 9s ago
Main PID: 3195 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─3195 /opt/mssql/bin/sqlservr
└─3208 /opt/mssql/bin/sqlservr
Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.60 Server Dedicated admin connection
support was established for l...rt 1434.
Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.60 spid17s SQL Server is now ready for
client connections. This is ...equired.
Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.63 spid6s Polybase feature disabled.
Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.63 spid6s Clearing tempdb database.
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.04 spid6s Starting up database 'tempdb'.
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.27 spid6s The tempdb database has 1 data
file(s).
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.29 spid20s The Service Broker endpoint is in
disabled or stopped state.
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.29 spid20s The Database Mirroring endpoint
is in disabled or stopped state.
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.37 spid20s Service Broker manager has
started.
Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.42 spid5s Recovery is complete. This is an
informational message o...equired.
Hint: Some lines were ellipsized, use -l to show in full.
--
-- Install MS Server tools on Red Hat Linux
-- BUT I RAN INTO A SMALL ISSUE and easilty Found a Workaround
--
  5	
  
[mssql@rogercen7 ~]$ sudo su
[sudo] password for mssql:
[root@rogercen7 mssql]# 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
100 193 100 193 0 0 410 0 --:--:-- --:--:-- --:--:-- 410
[root@rogercen7 mssql]# exit
[mssql@rogercen7 ~]$ sudo yum install mssql-tools
Loaded plugins: fastestmirror, langpacks
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: repos.dfw.quadranet.com
* extras: repos.dfw.quadranet.com
* updates: mirror.cs.uwp.edu
Resolving Dependencies
--> Running transaction check
---> Package mssql-tools.x86_64 0:14.0.1.246-1 will be installed
--> Processing Dependency: msodbcsql for package: mssql-tools-14.0.1.246-1.x86_64
--> Running transaction check
---> Package msodbcsql.x86_64 0:13.0.1.0-1 will be installed
--> Processing Dependency: unixODBC-utf16 for package: msodbcsql-13.0.1.0-1.x86_64
--> Running transaction check
---> Package unixODBC-utf16.x86_64 0:2.3.1-1 will be installed
--> Processing Conflict: unixODBC-utf16-2.3.1-1.x86_64 conflicts unixODBC
--> Finished Dependency Resolution
Error: unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
-- mssql-tools fails with unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64 (see above)
  6	
  
--
-- Attempt to address “Error: unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64”
--
[mssql@rogercen7 ~]$ sudo su
[root@rogercen7 mssql]# id
uid=0(root) gid=0(root) groups=0(root)
[root@rogercen7 mssql]# yum-config-manager --add-repo https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-
release/
Loaded plugins: fastestmirror, langpacks
adding repo from: https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/
[apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_]
name=added from: https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/
baseurl=https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/
enabled=1
[root@rogercen7 mssql]# yum-config-manager --enable mssql-rhel7-release
Loaded plugins: fastestmirror, langpacks
[root@rogercen7 mssql]# wget "http://aka.ms/msodbcrhelpublickey/dpgswdist.v1.asc"
--2016-11-30 09:29:15-- http://aka.ms/msodbcrhelpublickey/dpgswdist.v1.asc
Resolving aka.ms (aka.ms)... 23.200.222.48
Connecting to aka.ms (aka.ms)|23.200.222.48|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://meetsstorenew.blob.core.windows.net/contianerhd/dpgswdist.v1.asc?st=2016-09-
07T01%3A12%3A00Z&se=2017-12-08T02%3A12%3A00Z&sp=rl&sv=2015-04-
05&sr=b&sig=EtoVOodJgGlu8gpK6qhBLCFpVHZ7C%2BouKYHw%2F%2FkEBFg%3D [following]
--2016-11-30 09:29:20-- https://meetsstorenew.blob.core.windows.net/contianerhd/dpgswdist.v1.asc?st=2016-09-
07T01%3A12%3A00Z&se=2017-12-08T02%3A12%3A00Z&sp=rl&sv=2015-04-
05&sr=b&sig=EtoVOodJgGlu8gpK6qhBLCFpVHZ7C%2BouKYHw%2F%2FkEBFg%3D
Resolving meetsstorenew.blob.core.windows.net (meetsstorenew.blob.core.windows.net)... 13.88.144.248
Connecting to meetsstorenew.blob.core.windows.net (meetsstorenew.blob.core.windows.net)|13.88.144.248|:443...
connected.
HTTP request sent, awaiting response... 200 OK
Length: 3153 (3.1K) [application/pgp-signature]
Saving to: ‘dpgswdist.v1.asc’
100%[=================================================================>] 3,153 --.-K/s in 0s
2016-11-30 09:29:21 (506 MB/s) - ‘dpgswdist.v1.asc’ saved [3153/3153]
  7	
  
[root@rogercen7 mssql]# rpm --import dpgswdist.v1.asc
[root@rogercen7 mssql]#
[root@rogercen7 mssql]# yum remove unixODBC
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package unixODBC.x86_64 0:2.3.1-11.el7 will be erased
--> Processing Dependency: libesoobS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libmimerS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libnn.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbccr.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbcdrvcfg1S.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbcdrvcfg2S.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbcminiS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbcnnS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libodbctxtS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: liboplodbcS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: liboraodbcS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libsapdbS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libtdsS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: libtemplate.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Processing Dependency: unixODBC(x86-64) = 2.3.1-11.el7 for package: unixODBC-devel-2.3.1-11.el7.x86_64
--> Running transaction check
---> Package unixODBC-devel.x86_64 0:2.3.1-11.el7 will be erased
--> Finished Dependency Resolution
apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_
| 2.9 kB 00:00:00
apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_/primary_db
| 4.2 kB 00:00:00
Dependencies Resolved
==============================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Removing:
unixODBC x86_64 2.3.1-11.el7 @base 1.2 M
Removing for dependencies:
unixODBC-devel x86_64 2.3.1-11.el7 @base 186 k
Transaction Summary
==============================================================================================================
Remove 1 Package (+1 Dependent package)
Installed size: 1.4 M
  8	
  
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : unixODBC-devel-2.3.1-11.el7.x86_64
1/2
Erasing : unixODBC-2.3.1-11.el7.x86_64
2/2
Verifying : unixODBC-devel-2.3.1-11.el7.x86_64
1/2
Verifying : unixODBC-2.3.1-11.el7.x86_64
2/2
Removed:
unixODBC.x86_64 0:2.3.1-11.el7
Dependency Removed:
unixODBC-devel.x86_64 0:2.3.1-11.el7
Complete!
[root@rogercen7 mssql]# yum update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: repos.dfw.quadranet.com
* extras: centos.mirrors.tds.net
* updates: mirror.cs.uwp.edu
No packages marked for update
[root@rogercen7 mssql]# yum install msodbcsql
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: repos.dfw.quadranet.com
* extras: centos.mirrors.tds.net
* updates: mirror.cs.uwp.edu
Resolving Dependencies
--> Running transaction check
---> Package msodbcsql.x86_64 0:13.0.1.0-1 will be installed
--> Processing Dependency: unixODBC-utf16 for package: msodbcsql-13.0.1.0-1.x86_64
--> Processing Dependency: libodbcinst.so.2()(64bit) for package: msodbcsql-13.0.1.0-1.x86_64
--> Running transaction check
---> Package unixODBC-utf16.x86_64 0:2.3.1-1 will be installed
--> Finished Dependency Resolution
  9	
  
Dependencies Resolved
=============================================================================================================
Package Arch Version Repository Size
=============================================================================================================
Installing:
msodbcsql x86_64 13.0.1.0-1 aptmo.trafficmanager.net_yumrepos_mssql-rhel7-release_ 3.8 M
Installing for dependencies:
unixODBC-utf16 x86_64 2.3.1-1 apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_ 330 k
Transaction Summary
=============================================================================================================
Install 1 Package (+1 Dependent package)
Total download size: 4.2 M
Installed size: 4.2 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): unixODBC-utf16-2.3.1-1.x86_64.rpm
| 330 kB 00:00:00
(2/2): msodbcsql-13.0.1.0-1.x86_64.rpm
| 3.8 MB 00:00:01
-------------------------------------------------------------------------------------------------------------
Total
2.2 MB/s | 4.2 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : unixODBC-utf16-2.3.1-1.x86_64
1/2
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746838 and found in
/usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
Installing : msodbcsql-13.0.1.0-1.x86_64
2/2
Verifying : msodbcsql-13.0.1.0-1.x86_64
1/2
Verifying : unixODBC-utf16-2.3.1-1.x86_64
2/2
Installed:
msodbcsql.x86_64 0:13.0.1.0-1
  10	
  
Dependency Installed:
unixODBC-utf16.x86_64 0:2.3.1-1
Complete!
--
-- NOW reattempt install of MS SQL Server tools for Linux
--
[root@rogercen7 mssql]# id
uid=0(root) gid=0(root) groups=0(root)
[root@rogercen7 mssql]# sudo yum install mssql-tools
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: repos.dfw.quadranet.com
* extras: centos.mirrors.tds.net
* updates: mirror.cs.uwp.edu
Resolving Dependencies
--> Running transaction check
---> Package mssql-tools.x86_64 0:14.0.1.246-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================
Package Arch Version
Repository Size
============================================================================================================
Installing:
mssql-tools x86_64 14.0.1.246-1 packages-
microsoft-com-prod 249 k
Transaction Summary
============================================================================================================
Install 1 Package
Total download size: 249 k
Installed size: 249 k
Is this ok [y/d/N]: y
Downloading packages:
mssql-tools-14.0.1.246-1.x86_64.rpm
| 249 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
  11	
  
Running transaction
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
Installing : mssql-tools-14.0.1.246-1.x86_64
1/1
Verifying : mssql-tools-14.0.1.246-1.x86_64
1/1
Installed:
mssql-tools.x86_64 0:14.0.1.246-1
Complete!
--
-- Test the SQL Server Command Tool:
--
[mssql@rogercen7 ~]$ sqlcmd
Microsoft (R) SQL Server Command Line Tool
Version 14.0.0001.246 Linux
Copyright (c) 2012 Microsoft. All rights reserved.
usage: sqlcmd [-U login id] [-P password]
[-S server or Dsn if -D is provided]
[-H hostname] [-E trusted connection]
[-N Encrypt Connection][-C Trust Server Certificate]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
  12	
  
[-K application intent]
[-M multisubnet failover]
[-b On error batch abort]
[-D Dsn flag, indicate -S is Dsn]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]
[mssql@rogercen7 ~]$ sqlcmd -S localhost -U SA -P '< sa password >'
(4 rows affected)
1> SELECT Name from sys.Databases;
2> go
Name
---------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
(4 rows affected)
--
-- NOTE that the Version of SQL Server is listed as 14.0.1.246
--
1> Select @@version;
2> go
---------------------------------------------------------------------------------------------------
Microsoft SQL Server vNext (CTP1) - 14.0.1.246 (X64)
Nov 1 2016 23:24:39
Copyright (c) Microsoft Corporation
on Linux (CentOS Linux 7 (Core))
(1 rows affected)
1> SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition');
2> go
+------------+------+----------------------------+
| | (2) | (3) |
+------------+------+----------------------------+
| 14.0.1.246 | CTP1 | Developer Edition (64-bit) |
+------------+------+----------------------------+
1 rows in set (0.01 sec)
1> SELECT name, database_id, create_date FROM sys.databases ;
  13	
  
2> go
name
database_id create_date
----------------------------------------------------------------------------------------------------------
master
1 2003-04-08 09:13:36.390
tempdb
2 2016-11-30 15:12:26.280
model
3 2003-04-08 09:13:36.390
msdb
--
-- As Root restart and stop MS SQL Server
--
[root@rogercen7 mssql]# id
uid=0(root) gid=0(root) groups=0(root)
[root@rogercen7 mssql]# systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2016-11-30 10:23:17 CST; 5min ago
Process: 3195 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=1/FAILURE)
Main PID: 3195 (code=exited, status=1/FAILURE)
Nov 30 09:19:14 rogercen7 sqlservr[3195]: 2016-11-30 15:19:14.96 spid51 Using 'xplog70.dll' version
'2016.140.01' to execute extended stored procedure 'xp_ms...s required.
Nov 30 10:23:16 rogercen7 systemd[1]: Stopping Microsoft(R) SQL Server(R) Database Engine...
Nov 30 10:23:16 rogercen7 sqlservr[3195]: 2016-11-30 16:23:16.54 spid5s SQL Server is terminating in
response to a 'stop' request from Service Control Manage...s required.
Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.14 spid20s Service Broker manager has shut
down.
Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.20 spid5s SQL Server shutdown has been
initiated
Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.21 spid5s SQL Trace was stopped due to
server shutdown. Trace ID = '1'. This is an informationa...s required.
Nov 30 10:23:17 rogercen7 systemd[1]: mssql-server.service: main process exited, code=exited, status=1/FAILURE
Nov 30 10:23:17 rogercen7 systemd[1]: Stopped Microsoft(R) SQL Server(R) Database Engine.
Nov 30 10:23:17 rogercen7 systemd[1]: Unit mssql-server.service entered failed state.
Nov 30 10:23:17 rogercen7 systemd[1]: mssql-server.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
  14	
  
[root@rogercen7 mssql]# systemctl start mssql-server
[root@rogercen7 mssql]# systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2016-11-30 10:30:13 CST; 4s ago
Main PID: 10857 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─10857 /opt/mssql/bin/sqlservr
└─10859 /opt/mssql/bin/sqlservr
Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.97 spid17s Server is listening on [ 0.0.0.0
<ipv4> 1433].
Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 Server Server is listening on [
127.0.0.1 <ipv4> 1434].
Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 Server Dedicated admin connection
support was established for listening locally on port 1434.
Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 spid17s SQL Server is now ready for
client connections. This is an informational message; no...s required.
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.17 spid6s Starting up database 'tempdb'.
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.32 spid6s The tempdb database has 1 data
file(s).
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.33 spid20s The Service Broker endpoint is
in disabled or stopped state.
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.33 spid20s The Database Mirroring endpoint
is in disabled or stopped state.
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.36 spid5s Recovery is complete. This is an
informational message only. No user action is required.
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.38 spid20s Service Broker manager has
started.
Hint: Some lines were ellipsized, use -l to show in full.
[root@rogercen7 mssql]# ps -ef | grep 10857
mssql 10857 1 0 10:30 ? 00:00:00 /opt/mssql/bin/sqlservr
mssql 10859 10857 19 10:30 ? 00:00:04 /opt/mssql/bin/sqlservr
root 10975 10799 0 10:30 pts/0 00:00:00 grep --color=auto 10857
[root@rogercen7 mssql]# ps -ef | grep sqlservr
mssql 3374 1 0 09:17 ? 00:00:00 /opt/mssql/bin/sqlservr-telemetry /var/opt/mssql/.system
mssql 10857 1 0 10:30 ? 00:00:00 /opt/mssql/bin/sqlservr
mssql 10859 10857 14 10:30 ? 00:00:04 /opt/mssql/bin/sqlservr
root 10978 10799 0 10:30 pts/0 00:00:00 grep --color=auto sqlservr
  15	
  
top - 10:33:36 up 1:41, 2 users, load average: 0.02, 0.06, 0.06
Tasks: 183 total, 3 running, 180 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 4942336 total, 2246808 free, 1112844 used, 1582684 buff/cache
KiB Swap: 7180280 total, 7180280 free, 0 used. 3528900 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10859 mssql 20 0 2489844 517952 3944 S 2.3 10.5 0:08.70 sqlservr
669 dbus 20 0 30268 3108 1384 S 0.1 0.1 0:00.76 dbus-daemon
10843 root 20 0 0 0 0 R 0.1 0.0 0:00.05 kworker/0:4
1 root 20 0 123336 3892 2416 S 0.0 0.1 0:01.20 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.36 rcu_sched
-- Shutdown SQL Server instance:
[root@rogercen7 mssql]# systemctl stop mssql-server
-- After shutdown of SQL Server instance:
top - 10:36:38 up 1:44, 2 users, load average: 0.03, 0.06, 0.05
Tasks: 180 total, 3 running, 177 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 4942336 total, 2776988 free, 582880 used, 1582468 buff/cache
KiB Swap: 7180280 total, 7180280 free, 0 used. 4059368 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11076 root 20 0 157692 2320 1544 R 0.2 0.0 0:00.01 top
1 root 20 0 123336 3892 2416 S 0.0 0.1 0:01.22 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.36 rcu_sched
--
-- Check Status
--
[root@rogercen7 mssql]# systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
  16	
  
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2016-11-30 10:35:51 CST; 3min 2s ago
Process: 10857 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=1/FAILURE)
Main PID: 10857 (code=exited, status=1/FAILURE)
Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.38 spid20s Service Broker manager has
started.
Nov 30 10:35:51 rogercen7 systemd[1]: Stopping Microsoft(R) SQL Server(R) Database Engine...
Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.12 spid5s SQL Server is terminating in
response to a 'stop' request from Service Control Manag...s required.
Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.22 spid20s Service Broker manager has shut
down.
Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.25 spid5s SQL Server shutdown has been
initiated
Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.25 spid5s SQL Trace was stopped due to
server shutdown. Trace ID = '1'. This is an information...s required.
Nov 30 10:35:51 rogercen7 systemd[1]: mssql-server.service: main process exited, code=exited, status=1/FAILURE
Nov 30 10:35:51 rogercen7 systemd[1]: Stopped Microsoft(R) SQL Server(R) Database Engine.
Nov 30 10:35:51 rogercen7 systemd[1]: Unit mssql-server.service entered failed state.
Nov 30 10:35:51 rogercen7 systemd[1]: mssql-server.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
Helpful web links:
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-get-started-tutorial
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-management-overview
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf
https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux#resources
Interesting web links:
http://www.theregister.co.uk/2016/11/18/microsoft_running_windows_apps_on_linux/
http://www.infoworld.com/article/3041450/sql/8-no-bull-reasons-why-sql-server-on-linux-is-huge-for-microsoft.html
Conclusion:
The install process was straightforward and rather easy. I only ran into one small issue, but it had an easy workaround.
	
  

Whitepaper MS SQL Server on Linux

  • 1.
      1   CurrentDate: Wednesday, November 30, 2016 Abstract: Microsoft for the first time has issued a SQL Server database solution for Linux. The purpose of this document is to simply step thru, with examples, the SQL Server install and setup on Linux. This software is a public preview, and is not meant for production critical work loads. Intended Audience: Anyone interested in the newly released Microsoft SQL Server designed for Linux. Author: Roger Eisentrager Technical Solutions Manager - Cloud ProActive Solutions, Inc. http://www.proactivesolutions.com/ Technical Details/Assumptions completed before MS SQL Server install: • Centos version 7 (el7.x86_64) installed and fully patched • Disabled SELinux • Disabled Firewall • Centos installed on Mac OS X utilizing Oracle Virtualbox v5.1.10 • Hostname of Linux OS is “rogercen7” but could be any name in your own environment Steps and output of Microsoft SQL Server install on Linux: [mssql@rogercen7 ~]$ uname -a Linux rogercen7 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux -- I created a "mssql" Linux OS end user, but it is not a requirement: [mssql@rogercen7 ~]$ id uid=1002(mssql) gid=54324(mssql) groups=54324(mssql),10(wheel)
  • 2.
      2   --Download the RH Linux configuration file (repository) for MS SQL Server [root@rogercen7 /]# 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 292 0 --:--:-- --:--:-- --:--:-- 292 -- -- Run MS SQL Server Install -- [mssql@rogercen7 ~]$ sudo yum install -y mssql-server [sudo] password for mssql: Loaded plugins: fastestmirror, langpacks packages-microsoft-com-mssql-server | 2.9 kB 00:00:00 packages-microsoft-com-mssql-server/primary_db | 2.4 kB 00:00:00 Loading mirror speeds from cached hostfile * base: repos.dfw.quadranet.com * extras: centos.mirrors.tds.net * updates: mirror.cs.uwp.edu Resolving Dependencies --> Running transaction check ---> Package mssql-server.x86_64 0:14.0.1.246-6 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 138M Transaction Summary =========================================================================================================== Install 1 Package Total download size: 138 M Installed size: 138 M Downloading packages: warning: /var/cache/yum/x86_64/7/packages-microsoft-com-mssql-server /packages/mssql-server-14.0.1.246-6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY Public key for mssql-server-14.0.1.246-6.x86_64.rpm is not installed mssql-server-14.0.1.246-6.x86_64.rpm | 138 MB 00:00:23
  • 3.
      3   Retrievingkey from https://packages.microsoft.com/keys/microsoft.asc Importing GPG key 0xBE1229CF: Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>" Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf From : https://packages.microsoft.com/keys/microsoft.asc Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mssql-server-14.0.1.246-6.x86_64 1/1 +-------------------------------------------------------------------+ | 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/1 Installed: mssql-server.x86_64 0:14.0.1.246-6 Complete! -- -- Run MS SQL Server Setup -- [mssql@rogercen7 ~]$ sudo /opt/mssql/bin/sqlservr-setup [sudo] password for mssql: PASSWORD Microsoft(R) SQL Server(R) Setup You can abort setup at anytime by pressing Ctrl-C. Start this program with the --help option for information about running it in unattended mode. The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746388 and found in /usr/share/doc/mssql-server/LICENSE.TXT. Do you accept the license terms? If so, please type "YES": YES Please enter a password for the system administrator (SA) account: Please confirm the password for the system administrator (SA) account: Setting system administrator (SA) account password... 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]: n You can use sqlservr-setup --enable-service to enable SQL Server to start
  • 4.
      4   atboot. Setup completed successfully. -- -- Check Status -- [mssql@rogercen7 ~]$ systemctl status mssql-server ● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2016-11-30 09:12:21 CST; 4min 9s ago Main PID: 3195 (sqlservr) CGroup: /system.slice/mssql-server.service ├─3195 /opt/mssql/bin/sqlservr └─3208 /opt/mssql/bin/sqlservr Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.60 Server Dedicated admin connection support was established for l...rt 1434. Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.60 spid17s SQL Server is now ready for client connections. This is ...equired. Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.63 spid6s Polybase feature disabled. Nov 30 09:12:25 rogercen7 sqlservr[3195]: 2016-11-30 15:12:25.63 spid6s Clearing tempdb database. Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.04 spid6s Starting up database 'tempdb'. Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.27 spid6s The tempdb database has 1 data file(s). Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.29 spid20s The Service Broker endpoint is in disabled or stopped state. Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.29 spid20s The Database Mirroring endpoint is in disabled or stopped state. Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.37 spid20s Service Broker manager has started. Nov 30 09:12:26 rogercen7 sqlservr[3195]: 2016-11-30 15:12:26.42 spid5s Recovery is complete. This is an informational message o...equired. Hint: Some lines were ellipsized, use -l to show in full. -- -- Install MS Server tools on Red Hat Linux -- BUT I RAN INTO A SMALL ISSUE and easilty Found a Workaround --
  • 5.
      5   [mssql@rogercen7~]$ sudo su [sudo] password for mssql: [root@rogercen7 mssql]# 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 100 193 100 193 0 0 410 0 --:--:-- --:--:-- --:--:-- 410 [root@rogercen7 mssql]# exit [mssql@rogercen7 ~]$ sudo yum install mssql-tools Loaded plugins: fastestmirror, langpacks 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: repos.dfw.quadranet.com * extras: repos.dfw.quadranet.com * updates: mirror.cs.uwp.edu Resolving Dependencies --> Running transaction check ---> Package mssql-tools.x86_64 0:14.0.1.246-1 will be installed --> Processing Dependency: msodbcsql for package: mssql-tools-14.0.1.246-1.x86_64 --> Running transaction check ---> Package msodbcsql.x86_64 0:13.0.1.0-1 will be installed --> Processing Dependency: unixODBC-utf16 for package: msodbcsql-13.0.1.0-1.x86_64 --> Running transaction check ---> Package unixODBC-utf16.x86_64 0:2.3.1-1 will be installed --> Processing Conflict: unixODBC-utf16-2.3.1-1.x86_64 conflicts unixODBC --> Finished Dependency Resolution Error: unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest -- mssql-tools fails with unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64 (see above)
  • 6.
      6   -- --Attempt to address “Error: unixODBC-utf16 conflicts with unixODBC-2.3.1-11.el7.x86_64” -- [mssql@rogercen7 ~]$ sudo su [root@rogercen7 mssql]# id uid=0(root) gid=0(root) groups=0(root) [root@rogercen7 mssql]# yum-config-manager --add-repo https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7- release/ Loaded plugins: fastestmirror, langpacks adding repo from: https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/ [apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_] name=added from: https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/ baseurl=https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/ enabled=1 [root@rogercen7 mssql]# yum-config-manager --enable mssql-rhel7-release Loaded plugins: fastestmirror, langpacks [root@rogercen7 mssql]# wget "http://aka.ms/msodbcrhelpublickey/dpgswdist.v1.asc" --2016-11-30 09:29:15-- http://aka.ms/msodbcrhelpublickey/dpgswdist.v1.asc Resolving aka.ms (aka.ms)... 23.200.222.48 Connecting to aka.ms (aka.ms)|23.200.222.48|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://meetsstorenew.blob.core.windows.net/contianerhd/dpgswdist.v1.asc?st=2016-09- 07T01%3A12%3A00Z&se=2017-12-08T02%3A12%3A00Z&sp=rl&sv=2015-04- 05&sr=b&sig=EtoVOodJgGlu8gpK6qhBLCFpVHZ7C%2BouKYHw%2F%2FkEBFg%3D [following] --2016-11-30 09:29:20-- https://meetsstorenew.blob.core.windows.net/contianerhd/dpgswdist.v1.asc?st=2016-09- 07T01%3A12%3A00Z&se=2017-12-08T02%3A12%3A00Z&sp=rl&sv=2015-04- 05&sr=b&sig=EtoVOodJgGlu8gpK6qhBLCFpVHZ7C%2BouKYHw%2F%2FkEBFg%3D Resolving meetsstorenew.blob.core.windows.net (meetsstorenew.blob.core.windows.net)... 13.88.144.248 Connecting to meetsstorenew.blob.core.windows.net (meetsstorenew.blob.core.windows.net)|13.88.144.248|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3153 (3.1K) [application/pgp-signature] Saving to: ‘dpgswdist.v1.asc’ 100%[=================================================================>] 3,153 --.-K/s in 0s 2016-11-30 09:29:21 (506 MB/s) - ‘dpgswdist.v1.asc’ saved [3153/3153]
  • 7.
      7   [root@rogercen7mssql]# rpm --import dpgswdist.v1.asc [root@rogercen7 mssql]# [root@rogercen7 mssql]# yum remove unixODBC Loaded plugins: fastestmirror, langpacks Resolving Dependencies --> Running transaction check ---> Package unixODBC.x86_64 0:2.3.1-11.el7 will be erased --> Processing Dependency: libesoobS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libmimerS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libnn.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbccr.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbcdrvcfg1S.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbcdrvcfg2S.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbcminiS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbcnnS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libodbctxtS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: liboplodbcS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: liboraodbcS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libsapdbS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libtdsS.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: libtemplate.so.2()(64bit) for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Processing Dependency: unixODBC(x86-64) = 2.3.1-11.el7 for package: unixODBC-devel-2.3.1-11.el7.x86_64 --> Running transaction check ---> Package unixODBC-devel.x86_64 0:2.3.1-11.el7 will be erased --> Finished Dependency Resolution apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_ | 2.9 kB 00:00:00 apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_/primary_db | 4.2 kB 00:00:00 Dependencies Resolved ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Removing: unixODBC x86_64 2.3.1-11.el7 @base 1.2 M Removing for dependencies: unixODBC-devel x86_64 2.3.1-11.el7 @base 186 k Transaction Summary ============================================================================================================== Remove 1 Package (+1 Dependent package) Installed size: 1.4 M
  • 8.
      8   Isthis ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : unixODBC-devel-2.3.1-11.el7.x86_64 1/2 Erasing : unixODBC-2.3.1-11.el7.x86_64 2/2 Verifying : unixODBC-devel-2.3.1-11.el7.x86_64 1/2 Verifying : unixODBC-2.3.1-11.el7.x86_64 2/2 Removed: unixODBC.x86_64 0:2.3.1-11.el7 Dependency Removed: unixODBC-devel.x86_64 0:2.3.1-11.el7 Complete! [root@rogercen7 mssql]# yum update Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: repos.dfw.quadranet.com * extras: centos.mirrors.tds.net * updates: mirror.cs.uwp.edu No packages marked for update [root@rogercen7 mssql]# yum install msodbcsql Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: repos.dfw.quadranet.com * extras: centos.mirrors.tds.net * updates: mirror.cs.uwp.edu Resolving Dependencies --> Running transaction check ---> Package msodbcsql.x86_64 0:13.0.1.0-1 will be installed --> Processing Dependency: unixODBC-utf16 for package: msodbcsql-13.0.1.0-1.x86_64 --> Processing Dependency: libodbcinst.so.2()(64bit) for package: msodbcsql-13.0.1.0-1.x86_64 --> Running transaction check ---> Package unixODBC-utf16.x86_64 0:2.3.1-1 will be installed --> Finished Dependency Resolution
  • 9.
      9   DependenciesResolved ============================================================================================================= Package Arch Version Repository Size ============================================================================================================= Installing: msodbcsql x86_64 13.0.1.0-1 aptmo.trafficmanager.net_yumrepos_mssql-rhel7-release_ 3.8 M Installing for dependencies: unixODBC-utf16 x86_64 2.3.1-1 apt-mo.trafficmanager.net_yumrepos_mssql-rhel7-release_ 330 k Transaction Summary ============================================================================================================= Install 1 Package (+1 Dependent package) Total download size: 4.2 M Installed size: 4.2 M Is this ok [y/d/N]: y Downloading packages: (1/2): unixODBC-utf16-2.3.1-1.x86_64.rpm | 330 kB 00:00:00 (2/2): msodbcsql-13.0.1.0-1.x86_64.rpm | 3.8 MB 00:00:01 ------------------------------------------------------------------------------------------------------------- Total 2.2 MB/s | 4.2 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : unixODBC-utf16-2.3.1-1.x86_64 1/2 The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746838 and found in /usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES', you indicate that you accept the license terms. Do you accept the license terms? (Enter YES or NO) YES Installing : msodbcsql-13.0.1.0-1.x86_64 2/2 Verifying : msodbcsql-13.0.1.0-1.x86_64 1/2 Verifying : unixODBC-utf16-2.3.1-1.x86_64 2/2 Installed: msodbcsql.x86_64 0:13.0.1.0-1
  • 10.
      10   DependencyInstalled: unixODBC-utf16.x86_64 0:2.3.1-1 Complete! -- -- NOW reattempt install of MS SQL Server tools for Linux -- [root@rogercen7 mssql]# id uid=0(root) gid=0(root) groups=0(root) [root@rogercen7 mssql]# sudo yum install mssql-tools Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: repos.dfw.quadranet.com * extras: centos.mirrors.tds.net * updates: mirror.cs.uwp.edu Resolving Dependencies --> Running transaction check ---> Package mssql-tools.x86_64 0:14.0.1.246-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: mssql-tools x86_64 14.0.1.246-1 packages- microsoft-com-prod 249 k Transaction Summary ============================================================================================================ Install 1 Package Total download size: 249 k Installed size: 249 k Is this ok [y/d/N]: y Downloading packages: mssql-tools-14.0.1.246-1.x86_64.rpm | 249 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded
  • 11.
      11   Runningtransaction 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 Installing : mssql-tools-14.0.1.246-1.x86_64 1/1 Verifying : mssql-tools-14.0.1.246-1.x86_64 1/1 Installed: mssql-tools.x86_64 0:14.0.1.246-1 Complete! -- -- Test the SQL Server Command Tool: -- [mssql@rogercen7 ~]$ sqlcmd Microsoft (R) SQL Server Command Line Tool Version 14.0.0001.246 Linux Copyright (c) 2012 Microsoft. All rights reserved. usage: sqlcmd [-U login id] [-P password] [-S server or Dsn if -D is provided] [-H hostname] [-E trusted connection] [-N Encrypt Connection][-C Trust Server Certificate] [-d use database name] [-l login timeout] [-t query timeout] [-h headers] [-s colseparator] [-w screen width] [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] [-c cmdend] [-q "cmdline query"] [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel] [-W remove trailing spaces] [-u unicode output] [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile] [-k[1|2] remove[replace] control characters] [-y variable length type display width] [-Y fixed length type display width] [-p[1] print statistics[colon format]] [-R use client regional setting]
  • 12.
      12   [-Kapplication intent] [-M multisubnet failover] [-b On error batch abort] [-D Dsn flag, indicate -S is Dsn] [-X[1] disable commands, startup script, environment variables [and exit]] [-x disable variable substitution] [-? show syntax summary] [mssql@rogercen7 ~]$ sqlcmd -S localhost -U SA -P '< sa password >' (4 rows affected) 1> SELECT Name from sys.Databases; 2> go Name --------------------------------------------------------------------------------------------------- master tempdb model msdb (4 rows affected) -- -- NOTE that the Version of SQL Server is listed as 14.0.1.246 -- 1> Select @@version; 2> go --------------------------------------------------------------------------------------------------- Microsoft SQL Server vNext (CTP1) - 14.0.1.246 (X64) Nov 1 2016 23:24:39 Copyright (c) Microsoft Corporation on Linux (CentOS Linux 7 (Core)) (1 rows affected) 1> SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition'); 2> go +------------+------+----------------------------+ | | (2) | (3) | +------------+------+----------------------------+ | 14.0.1.246 | CTP1 | Developer Edition (64-bit) | +------------+------+----------------------------+ 1 rows in set (0.01 sec) 1> SELECT name, database_id, create_date FROM sys.databases ;
  • 13.
      13   2>go name database_id create_date ---------------------------------------------------------------------------------------------------------- master 1 2003-04-08 09:13:36.390 tempdb 2 2016-11-30 15:12:26.280 model 3 2003-04-08 09:13:36.390 msdb -- -- As Root restart and stop MS SQL Server -- [root@rogercen7 mssql]# id uid=0(root) gid=0(root) groups=0(root) [root@rogercen7 mssql]# systemctl status mssql-server ● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2016-11-30 10:23:17 CST; 5min ago Process: 3195 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=1/FAILURE) Main PID: 3195 (code=exited, status=1/FAILURE) Nov 30 09:19:14 rogercen7 sqlservr[3195]: 2016-11-30 15:19:14.96 spid51 Using 'xplog70.dll' version '2016.140.01' to execute extended stored procedure 'xp_ms...s required. Nov 30 10:23:16 rogercen7 systemd[1]: Stopping Microsoft(R) SQL Server(R) Database Engine... Nov 30 10:23:16 rogercen7 sqlservr[3195]: 2016-11-30 16:23:16.54 spid5s SQL Server is terminating in response to a 'stop' request from Service Control Manage...s required. Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.14 spid20s Service Broker manager has shut down. Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.20 spid5s SQL Server shutdown has been initiated Nov 30 10:23:17 rogercen7 sqlservr[3195]: 2016-11-30 16:23:17.21 spid5s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informationa...s required. Nov 30 10:23:17 rogercen7 systemd[1]: mssql-server.service: main process exited, code=exited, status=1/FAILURE Nov 30 10:23:17 rogercen7 systemd[1]: Stopped Microsoft(R) SQL Server(R) Database Engine. Nov 30 10:23:17 rogercen7 systemd[1]: Unit mssql-server.service entered failed state. Nov 30 10:23:17 rogercen7 systemd[1]: mssql-server.service failed. Hint: Some lines were ellipsized, use -l to show in full.
  • 14.
      14   [root@rogercen7mssql]# systemctl start mssql-server [root@rogercen7 mssql]# systemctl status mssql-server ● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2016-11-30 10:30:13 CST; 4s ago Main PID: 10857 (sqlservr) CGroup: /system.slice/mssql-server.service ├─10857 /opt/mssql/bin/sqlservr └─10859 /opt/mssql/bin/sqlservr Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.97 spid17s Server is listening on [ 0.0.0.0 <ipv4> 1433]. Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 Server Server is listening on [ 127.0.0.1 <ipv4> 1434]. Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 Server Dedicated admin connection support was established for listening locally on port 1434. Nov 30 10:30:17 rogercen7 sqlservr[10857]: 2016-11-30 16:30:17.98 spid17s SQL Server is now ready for client connections. This is an informational message; no...s required. Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.17 spid6s Starting up database 'tempdb'. Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.32 spid6s The tempdb database has 1 data file(s). Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.33 spid20s The Service Broker endpoint is in disabled or stopped state. Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.33 spid20s The Database Mirroring endpoint is in disabled or stopped state. Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.36 spid5s Recovery is complete. This is an informational message only. No user action is required. Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.38 spid20s Service Broker manager has started. Hint: Some lines were ellipsized, use -l to show in full. [root@rogercen7 mssql]# ps -ef | grep 10857 mssql 10857 1 0 10:30 ? 00:00:00 /opt/mssql/bin/sqlservr mssql 10859 10857 19 10:30 ? 00:00:04 /opt/mssql/bin/sqlservr root 10975 10799 0 10:30 pts/0 00:00:00 grep --color=auto 10857 [root@rogercen7 mssql]# ps -ef | grep sqlservr mssql 3374 1 0 09:17 ? 00:00:00 /opt/mssql/bin/sqlservr-telemetry /var/opt/mssql/.system mssql 10857 1 0 10:30 ? 00:00:00 /opt/mssql/bin/sqlservr mssql 10859 10857 14 10:30 ? 00:00:04 /opt/mssql/bin/sqlservr root 10978 10799 0 10:30 pts/0 00:00:00 grep --color=auto sqlservr
  • 15.
      15   top- 10:33:36 up 1:41, 2 users, load average: 0.02, 0.06, 0.06 Tasks: 183 total, 3 running, 180 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 4942336 total, 2246808 free, 1112844 used, 1582684 buff/cache KiB Swap: 7180280 total, 7180280 free, 0 used. 3528900 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10859 mssql 20 0 2489844 517952 3944 S 2.3 10.5 0:08.70 sqlservr 669 dbus 20 0 30268 3108 1384 S 0.1 0.1 0:00.76 dbus-daemon 10843 root 20 0 0 0 0 R 0.1 0.0 0:00.05 kworker/0:4 1 root 20 0 123336 3892 2416 S 0.0 0.1 0:01.20 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/0 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.36 rcu_sched -- Shutdown SQL Server instance: [root@rogercen7 mssql]# systemctl stop mssql-server -- After shutdown of SQL Server instance: top - 10:36:38 up 1:44, 2 users, load average: 0.03, 0.06, 0.05 Tasks: 180 total, 3 running, 177 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 4942336 total, 2776988 free, 582880 used, 1582468 buff/cache KiB Swap: 7180280 total, 7180280 free, 0 used. 4059368 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11076 root 20 0 157692 2320 1544 R 0.2 0.0 0:00.01 top 1 root 20 0 123336 3892 2416 S 0.0 0.1 0:01.22 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/0 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.36 rcu_sched -- -- Check Status -- [root@rogercen7 mssql]# systemctl status mssql-server ● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
  • 16.
      16   Loaded:loaded (/usr/lib/systemd/system/mssql-server.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2016-11-30 10:35:51 CST; 3min 2s ago Process: 10857 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=1/FAILURE) Main PID: 10857 (code=exited, status=1/FAILURE) Nov 30 10:30:18 rogercen7 sqlservr[10857]: 2016-11-30 16:30:18.38 spid20s Service Broker manager has started. Nov 30 10:35:51 rogercen7 systemd[1]: Stopping Microsoft(R) SQL Server(R) Database Engine... Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.12 spid5s SQL Server is terminating in response to a 'stop' request from Service Control Manag...s required. Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.22 spid20s Service Broker manager has shut down. Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.25 spid5s SQL Server shutdown has been initiated Nov 30 10:35:51 rogercen7 sqlservr[10857]: 2016-11-30 16:35:51.25 spid5s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an information...s required. Nov 30 10:35:51 rogercen7 systemd[1]: mssql-server.service: main process exited, code=exited, status=1/FAILURE Nov 30 10:35:51 rogercen7 systemd[1]: Stopped Microsoft(R) SQL Server(R) Database Engine. Nov 30 10:35:51 rogercen7 systemd[1]: Unit mssql-server.service entered failed state. Nov 30 10:35:51 rogercen7 systemd[1]: mssql-server.service failed. Hint: Some lines were ellipsized, use -l to show in full. Helpful web links: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-get-started-tutorial https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-management-overview https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux#resources Interesting web links: http://www.theregister.co.uk/2016/11/18/microsoft_running_windows_apps_on_linux/ http://www.infoworld.com/article/3041450/sql/8-no-bull-reasons-why-sql-server-on-linux-is-huge-for-microsoft.html Conclusion: The install process was straightforward and rather easy. I only ran into one small issue, but it had an easy workaround.