Here are my notes on
installation of MSSQL SERVER on Fedora.
First become root
# su -
Microsoft sql server
on fedora requires two new YUM repository one for actual sql server
and other for command line tool to query it.
Add Microsoft
Software repository to your Fedoara Machine as follows
#curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
#curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
this will basically
create two files in /
etc/yum.repos.d/
folder
namely “mssql-server.repo” & “msprod.repo”
Installing SQL
Server :
to install sql
server issue following command
#
yum
install -y mssql-server
this will install
package yet we need to configure it by issuing following command
#
/opt/mssql/bin/sqlservr-setup
this will ask for
System Administrator (SA) account password which requires two be 8
character,also ask if you want to start sql server at time of
startup.
You can check if
server is running by issuing following command
#systemctl status mssql-server
output of this
command in my case is
●
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 Sun 2016-12-04 20:04:11 IST; 27min ago
Main
PID: 6431 (sqlservr)
Tasks:
144
Memory:
547.2M
CPU:
45.053s
CGroup:
/system.slice/mssql-server.service
├─6431
/opt/mssql/bin/sqlservr
└─6493
/opt/mssql/bin/sqlservr
Dec
04 20:04:19 SangramOnFedora23 sqlservr[6431]: [145B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [66B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [75B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [96B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [100B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [71B blob data]
Dec
04 20:04:20 SangramOnFedora23 sqlservr[6431]: [124B blob data]
Dec
04 20:09:22 SangramOnFedora23 sqlservr[6431]: [71B blob data]
Dec
04 20:11:04 SangramOnFedora23 sqlservr[6431]: [156B blob data]
Dec
04 20:11:04 SangramOnFedora23 sqlservr[6431]: [193B blob data]
Microsoft
SQL server runs on port 1433 we need to open it for commutation with
server from outside of localhost.
If
you firewall is running & blocking 1433 port then add exception
to it
# firewall-cmd
--zone=public --add-port=1433/tcp --permanent
# firewall-cmd
--reload
If we have sql
server up & running we can install tool to connect to it
#yum install mssql-tools
This package needs
“msodbcsql”
package
and it has dependency on “unixODBC” package.
In
my case version of “ unixODBC” is higher than what “msodbcsql”
can handle probably in with GAMBAS so I was getting error in installation of “
mssql-tools”
after
quick googling I got a solution what we need is remove existing
unixodbc package as follows
#yum remove unixODBC
then
we need to add new repo & import corresponding keys
#yum-config-manager --add-repo https://apt-mo.trafficmanager.net/yumrepos/mssql-rhel7-release/
#yum-config-manager --enable mssql-rhel7-release
#wget "http://aka.ms/msodbcrhelpublickey/dpgswdist.v1.asc"
#rpm --import dpgswdist.v1.asc
and then install “msodbcsql”
#yum install msodbcsql
after successful installation try to install “
mssql-tools”
#yum install mssql-tools
On success we will check how to connect to server from command line.
Run below command,do not forgot to replace SA account password with your sql server’s SA password.
#
sqlcmd -S localhost -U SA -P
'
SA_Account_PASSWORD
'
we will run simple command to check if we are through.
First type some sql command say
select name from sys.databases;
hit enter and then type “go” do not end it with semicolon and hit again to see result of sql query.
Output should be similar to below:
name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
to come out of sql-cmd command prompt need to use "quit" command.
We can use universal sql GUI tools like squirrel sql , dbeaver to connect to our newly installed
sql server. Though I got some success with squirrel sql but it was messed between Oracle JAVA & OPEN JAVA
when I tried it on Ubuntu 16.We will explore this soon.
Attach MDF & LDF to create new Database (LINUX):
Login to SQL Server as
sqlcmd -S localhost -U SA -P 'yourPassword'
CREATE DATABASE cart ON (NAME = 'cart', FILENAME = '/home/sangram/workspace/dotnet/cart/cart.mdf' ,
SIZE = 2048KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON (NAME = 'cart_log',
FILENAME = '/home/sangram/workspace/dotnet/cart/cart_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
FOR ATTACH;
GO:
You can see your cart database is attached.
You can see your cart database is attached.
References:
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat