练习环境:.centos7,内存2G以上

1、安装步骤
1.1:设置sqlserver安装镜像:(不同的linux版本要找对应的sqlserver数据库版本,不然会有问题)

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

1.2:镜像下载完成后,执行安装

yum install -y mssql-server

1.2.1:如果你环境比较干净,可能还要手动安装一下yum(看自己版本,-7 -8要对应,不然用不了)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.3:安装完后,会提示让你执行代码,配置一下数据库

sudo /opt/mssql/bin/mssql-conf setup

1.4:配置完后会自动运行数据库服务,也可以手动查看

1.4.1:如果安装失败的话,提示你…Error: /lib64/libm.so.6: version `GLIBC_2.27’ not found… 之类的,那就是你还要升级一下你的环境:glibc-2.28
但是这个东西很麻烦,没遇到最好,遇到了的话,这里也贴一下解决办法解决办法 点进去按这个操作就可以了(至少我是这么解决的)

systemctl status mssql-server --查看数据库状态

1.5:如果你服务器开启了防火墙,可能还要配置一下防火墙端口(我本地练习是直接关了防火墙的,所以没试过)

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

到这里如果都没问题的话,数据库就可以用工具远程连接和访问了。
但是
如果要在linux系统中用终端操作,还需要单独安装工具,才能使用sqlcmd

2、安装命令行工具

wget https://packages.microsoft.com/rhel/7.3/prod/msodbcsql-13.1.6.0-1.x86_64.rpm
wget https://packages.microsoft.com/rhel/7.3/prod/mssql-tools-14.0.5.0-1.x86_64.rpm

yum localinstall msodbcsql-13.1.6.0-1.x86_64.rpm
yum localinstall mssql-tools-14.0.5.0-1.x86_64.rpm
echo ‘export PATH=“path:/opt/mssql-tools/bin”’  --添加环境变量

3、安装命令行工具

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
yum install mssql-tools unixODBC-devel

vim /etc/profile.d/mssqltools.sh
--输入内容:
export PATH=$PATH:/opt/mssql-tools/bin/
--写完按一下Esc,然后再按Shift+: 输入wq ,这样文件才会保存并退出
--然后 source一下
source /etc/profile.d/mssqltools.sh

到这,sqlcmd就可以用了,比如你要从本地备份数据库,然后还原到linux的sqlserver数据库上。

现在本地备份sqlserver数据库,然后把bak文件复制到linux的…/mssql/data 文件夹里,因为默认备份和数据库文件都在这个里面,如果要变更备份文件路径的话,请自行百度。
然后用sqlcmd连接数据库,还原数据库
1:登录sa账号

sqlcmd -S localhost -U SA

输入密码后,会进入t-sql状态,一行行复制然后最后GO换行后,会执行

RESTORE DATABASE YourDB
FROM DISK = '/var/opt/mssql/backup/YourDB.bak'
WITH MOVE 'YourDB' TO '/var/opt/mssql/data/YourDB.mdf',
MOVE 'YourDB_Log' TO '/var/opt/mssql/data/YourDB_Log.ldf'
GO

还原成功后,就能正常使用了。