[干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)
昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多..
我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL Server on Linux预览版
官方地址:https://docs.microsoft.com/zh-cn/sql/linux/ E文好的可以自己去看,还是很详细的
废话不多说,直接开始我们今天的正文MSSQL Server on Linux预览版的安装.
首先我们来了解一下目前MSSQL Server on Linux所支持的系统版本:
Red Hat Enterprise Linux | 7.2 | Get RHEL 7.2 |
Ubuntu | 16.04 | Get Ubuntu 16.04 |
Docker Engine | 1.8+ | Get Docker |
我主要采用了Ubuntu16.10和Ubuntu14.04(安装失败了,后面讲原因)来进行安装.
下面我们来讲一下安装步骤:
1.输入下面的命令,获取root权限:
sudo su
2.然后导入公共库GPG密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
这里可能会报错(通过的忽略),如下:
我们需要先安装curl,命令如下:
apt install curl
安装完毕后继续执行上面的语句,得到成功后的结果如图:
3.注册Microsoft SQL Server Ubuntu存储库 命令如下:
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list > /etc/apt/sources.list.d/mssql-server.list
成功结果如下:
4.退出root用户模式(退不退都行)。
exit
5.下载并安装SQL Server,命令如下:
sudo apt-get update
sudo apt-get install -y mssql-server
见到如下图片即为安装完成:
6.安装完成后运行配置脚本并按照提示进行sa帐户的配置,命令如下:
sudo /opt/mssql/bin/sqlservr-setup
7.输入你sa帐户的密码,提示如图:
其中错误信息的意思是:输入的密码不符合安全规定,说白了..自己设置复杂点..来点英文 来点符号 来点数字..就好了..
然后会让你第二次输入密码来确认和第一次一致就行.
成功后会出现下图:
问你是否现在就启动SQL Servcie..当然,所以..输入:Y
然后会出现下图:
问你是否开机启动(怎么有种全家桶的感觉.. ..中毒了.. - -||,)..
当然也是Y..
8.确认服务器是否开启并正常运行,命令如下:
systemctl status mssql-server
成功会出现下图:
好了,如果顺利的话,至此我们的安装就算完成了,下面说一下我碰到的坑...也算是FAQ?..
1.Ubuntu14.04是否能安装?
答:我反正是安装失败了,原因是SQL SERVER需要Openssl 1.0.2版本以上才能安装,然而Ubuntu14.04只能安装0.9.8的版本,我试过强制升级,只能说..然并卵..
2.安装过程中提示错误:
dpkg: error processing archive /tmp/apt-dpkg-install-wEgZAd/13-mssql-server_14.0.1.246-6_amd64.deb (--unpack):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
/tmp/apt-dpkg-install-wEgZAd/13-mssql-server_14.0.1.246-6_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
sudo /opt/mssql/bin/mssql-conf set-collation
输入YES,
输入Chinese_PRC_BIN
sudo systemctl restart mssql-server
即可..
7.目前的ORM是否支持?ADO.NET是否能连接?.
答:我用EF6.0试了一下,在DBFirst的情况下,无法映射出来实体,但是可以用直接执行SQL语句的方式访问,那就可以确认2点.CodeFirst应该是没有问题的,ADO.NET也是没有问题的
如图: