今年早些时候,微软宣布他们的将MS SQL Server运行在Linux上的计划震惊了IT界。在Satya Nadella的领导下,微软这个雷德蒙德的巨头在Linux主导的产业(如快速推动云的技术)方面取得了显著进展。使SQL Server可以在Linux环境下运行,是这种进程的另一个标志性的举动。
无论公司的这一举措背后的动机是什么,Linux系统管理员可能需要学习如何安装,维护和使用MS SQL Server——特别是考虑到在Red Hat EnterpriseLinux 7(包括CentOS 7)和Ubuntu服务器16.04 64位(对不起——没有32位版本!)的预览版本包已经可用。预览版本的唯一的“昂贵的”系统需求是安装它的系统必须有至少3.25 GB的内存。
1 在Linux上安装MS SQL Server
开始之前,我们需要添加两个资源库到我们的软件源列表。
1.1 On RHEL/CentOS:
1.在/etc/yum.repos.d/sql-server.repo文件中添加以下行:
[packages-microsoft-com-mssql-server]
name=packages-microsoft-com-mssql-server
baseurl=https://packages.microsoft.com/rhel/7/mssql-server/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
为了安装MSSQL Server的命令行工具,采用以下内容创建/etc/yum.repos.d/msprod.repo文件。
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
2.然后和平常一样,采用yum包管理器来安装这些包。
# yum install -y mssql-servermssql-tools
当安装结束,你会被提醒运行配置脚本(/opt/mssql/bin/sqlservr-setup)来接受许可协议,设置SA用户的密码和启动服务。此外,你可以选择让它在系统引导时自动启动。
3.为了让外部客户端可以和数据库服务器通讯,需要打开防火墙的1433/tcp端口。
如果你使用firewalld,使用以下命令:
# firewall-cmd–add-port=1433/tcp –permanent
# firewall-cmd –reload
否则(使用iptables的话)使用以下命令:
#iptables -A INPUT -p tcp –dport 1433 -j ACCEPT
#iptables-save > /etc/sysconfig/iptables
1.2 On Ubuntu,do:
1.为了让Ubuntu信任MS SQL Server资源库的包,需要导入GPG keys:
$sudo sh -c “curl https://packages.microsoft.com/keys/microsoft.asc | sudoapt-key add -”
2. 添加资源库到/etc/apt/sources.list.d/sql-server.list:
$sudo sh -c “echo deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-serverxenial main > /etc/apt/sources.list.d/sql-server.list”
$sudo sh -c “echo deb [arch=amd64]https://packages.microsoft.com/ubuntu/16.04/prod xenial main >>/etc/apt/sources.list.d/sql-server.list”
3.重新同步包索引文件,更新核心包和附加工具:
$ sudoapt-get update
$sudo apt-get install mssql-server mssql-tools -y
4.和前面的情况一样,执行配置脚本:
$sudo /opt/mssql/bin/sqlservr-setup
SQL Server Setup on Linux
5.根据提示,选择“YES”接受MS SQLTools的许可协议:
Configuring MSSQL Toolson Linux
2 在Linux上测试MS SQL Server
我们将登录到服务器,并创建一个名为Fabrics的数据库。-p开关后必须紧接着输入之前你选择安装包时的密码:
$ sqlcmd -S localhost -U SA -P ‘YourPasswordHere‘
CREATE DATABASE Fabrics
exit
Create MSSQL Database onLinux
如果你正在使用Linux,你可以像上面一样继续使用命令行。否则,如果你使用的是Windows,你可以安装 SQL Server ManagementStudio Express。
一旦完成,输入数据库服务器的IP(在这个用例中192.168.0.200)和登录凭据(用户名= sa,密码=YourPasswordHere):
Connect to MSSQL Server
成功登录后,Fabrics 数据库应该出现在左边:
Confirm MSSQL Database
下一步,点击“New Query”打开一个新的查询窗口,然后将来自Codeproject.com的 Fabrics数据库脚本的内容插入到查询窗口,然后单击执行。如果成功,您将看到该脚本创建的5个表和每个表的记录的数量:
Create a Sample SQL Database
总结一下,运行下面的查询来检索Clients表前5条记录:
USE Fabrics
SELECT TOP 5 FirstName,LastName,
DateOfBirth FROM Client
GO
结果应该和下面的图片的输出一致:
恭喜你!你已经在Linux上成功的安装和测试了MS SQL Server。
3 综述
在本文中,我们解释了如何在RHEL / CentOS和Ubuntu安装MS SQL Server服务器。由于微软和Linux的紧密的联系的建立,Linux系统管理员如果想呆在他们的游戏顶端,需要有关于MS SQL Server的知识渊博。
到2017年中期,相同的SQL Server版本将和今天在Windows上一样提供Linux上版本:企业版,标准版,Web版,Express版本,和开发人员版本。最后两个是免费的,但只有Express edition将授权生产许可使用 (但有资源限制)。
一如既往, 如果你有任何问题,请使用下面的评论形式给我们留言。我们期待听到您的声音!