Linux上的SQL Server的起步
我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的个SQL安装,这样的话,我就可以在Linux上折腾SQL Server。在这篇文章里,我想给你概括讲下在Linux上,SQL Server的起步是怎样的。
架构
在我们谈论Linux上的SQL Server的细节之前,我想花几分钟时间谈下微软如何实现在Linux上运行SQL Server。当微软公开声称它们在Linux上运行SQL Server的安装,每个人都会认为SQL Server只是移植到Linux。SQL Server已经通过SQLOS抽象了一些底层操作系统的功能,因此这会有用,但意味着微软需要维护不同的代码库(一个Windows,一个Linux)。我们都同意这是不可行的。
为了解决这个问题,现在微软在Linux上运行基于Windows的未修改代码。微软做了如下举动:
”我们在SQLPAL上嵌入Linux进程运行经典的Windows版的SQL Server,即从Drawbridge(吊桥)演变。”——Slava Oks:
SQLPAL是“SQL Server Platform Abstraction Layer(SQL Server平台抽象层)”。Drawbridge本身是微软研究院在2011年9月建立的项目,目的提供新形式虚拟化的应用程序沙盒。目前还没有在Linux上,SQL Server整个架构如何运行的公开信息,因此这里不能讲解得很清楚。但重要,要记住的事:在Linux上,SQL Server不是一个端口,它是和基于Windows的SQL Server一样。
因此,你几乎可以在Linux上的SQL Server上做和Windows上的SQL Server的任何事情。它是可行的,没有任何副作用。当然还不是所有的一切都可以在Linux上的SQL Server做。当前还不支持SQL Server代理,而且还没有像HA/DR(高可用性/故障恢复)的Always ON可用性组。但我假定,微软会在Linux上为我们提供在这方面提供新的功能和特性。在基于Window上和基于Linux上间创建可用性复制,会是多么惊艳的事!
开始折腾Linux上的SQL Server
为了在Linux上运行SQL Server,你需要安装一个Linux发行版。微软当前支持Ubuntu 16.04,和RHEL 7.2(红帽子企业版Linux)。在这里我决定简单安装一个Ubuntu虚拟机,然后在它上面安装SQL Server。微软在线帮助会告诉你如何在Linux上安装SQL Server的详细步骤,SQL Server和你就是几个命令的距离:
sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/sqlservr-setup
相关文章