原文地址:https://blog.csdn.net/shengqianfeng/article/details/84572935
mkdir -p /opt/sqlserver2017
cd /opt/sqlserver2017/
wget https://packages.microsoft.com/rhel/7/mssql-server-2017/mssql-server-14.0.1000.169-2.x86_64.rpm
rpm -ivh mssql-server-14.0.1000.169-2.x86_64.rpm
报错,安装依赖包。
yum install bzip2
yum install gdb
yum install libsss_nss_idmap
重新执行:
rpm -ivh mssql-server-14.0.1000.169-2.x86_64.rpm
成功安装!
配置:
[root@iZwz94664y88ud9aroa5veZ sqlserver2017]# /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:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
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.
[root@iZwz94664y88ud9aroa5veZ sqlserver2017]#
验证:
systemctl status mssql-server
停止、启动或重启 SQL Server 服务
systemctl stop mssql-server
systemctl start mssql-server
systemctl restart mssql-server
日志文件
/var/opt/mssql/log/errorlog
安装 sqlcmd 和 bcp SQL Server 命令行工具
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"' >> ~/.bash_profile
source ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
测试数据库连接:
sqlcmd -S localhost -U sa
输入密码
出现的问题处理:
问题1
sqlservr: This program requires a machine with at least 3250 megabytes of memory.
处理链接:https://www.cnblogs.com/zkweb/archive/2016/12/06/6136826.html
进出到安装位置的bin
cd /opt/mssql/bin/ # 进入目录
[root@localhost bin]# mv sqlservr sqlservr.old
[root@localhost bin]# python
>>> a = open("sqlservr.old", "rb").read()
>>> b = a.replace("\x80\x10\xb7\xc1", "\x00\x80\x84\x1e")
>>> open("sqlservr", "wb").write(b)
>>> exit()
[root@localhost bin]# chmod +x sqlservr
问题2
/bin/bash: /opt/mssql/bin/sqlservr: 权限不够
chmod 777 /bin/bash
chmod 777 /opt/mssql/bin/sqlservr
问题3
创建数据库提示无法获得数据库 ‘model’ 上的排他锁
执行以下语句
declare @sql varchar(240)
while 1=1
begin
select top 1 @sql = 'kill '+cast(spid as varchar(20))
from master..sysprocesses
where spid > 50 and spid <> @@spid
if @@rowcount = 0
break
exec(@sql)
end