浅谈Windows是如何把SQL Server迁移到Linux上的

译者注:你是否平时的工作是用的是Linux操作系统,但公司的重要项目使用的是SQL Server,你曾经是否因此而鲲熬过?现在告诉你个好消息,微软已经在2017版本中,将SQL Server数据库引入到了Linux等开源系统中去了,作者在本文详细介绍了这其中的过程。以下为译文:

早在2016年,当微软宣布SQL Server将很快在Linux上运行时,这一消息对用户和权威人士来说都是一个巨大的惊喜。在过去的一年中,微软对Linux(总之就是开源的操作系统)的支持已经十分重视,公司的使命似乎已经变成了只要哪里有用户,哪里就必须得有SQL Server工具。

微软今天发布了SQL Server 2017的第一个候选版本,这将是第一个在Windows、Linux和Docker容器上运行的版本。仅Docker容器就已经吸引了超过100万的申请,因此毫无疑问,会有很多人对这款新版本非常感兴趣。尽管新版本有很多需要改进的地方,但SQL Server 2017支持Linux仍然是这个版本最重要的突破。

在今天发表声明之前,我与微软的数据库系统组的总经理罗汉·库马尔进行了交谈,了解了这个项目的历史,以及他的团队如何成功地将SQL Server这么复杂的软件给引入到Linux中去的。在微软工作了18年的库马尔指出,他的团队注意到许多企业开始使用SQL Server作为z重要任务的工作负载。但与此同时,这些企业的工作环境也是组合的,包括Windows Server和Linux。对于许多这样的企业来说,无法在Linux上运行他们的数据库成为了一个瓶颈。

“经过企业的谈话,很明显,我们觉得这么做是必要的,”库马尔说,“我们正在强制客户使用Windows作为他们选择的平台。”在微软的另一个化身中,这可能会被视为积极的东西,但该公司今天的战略却大不相同。

库马尔还指出,许多企业都在寻找Oracle数据库产品的替代品。毕竟如果想要运行Linux,并使用具有完全企业支持的专有关系型数据库,那么你可能就不得不选择Oracle了。

正如库马尔告诉我的,这并不是他的团队第一次希望可以支持Linux。他告诉我:“过去我们曾进行过几次讨论,但没有得到批准。”他说:“对于企业来说,这并不是一种战略”。但这已经是三年前的观点了-现在随着萨提亚·纳德拉成为了微软的掌舵人,这个团队决定再次提出这个想法。“我们反反复复的查看反馈消息,”他说:“看到这些决定的速度有多快,真让人感到惊讶。”

位于雷德蒙德一家越南餐馆的照片前,团队最后决定继续推进这个项目。但是,在做出这个决定之后,这个团队现在面临着一项艰巨的任务:如何将数千万条SQL Server代码移植到Linux上?库马尔也不想在功能上做出任何妥协,因此要么必须是SQL Server的全部核心,要么就是什么都不做(目前,这排除了公司在Windows上提供的图形用户界面和工具)。

该团队在一个已经存在于微软的项目中找到了答案:Drawbridge。Drawbridge是一个在2011年启动的研究项目,它提供了一个容器,它提供了一个小的API表面和一个基础版本的Windows,可以有效地在容器中运行应用程序。这里的想法基本上是建立更好更安全的虚拟机。然后,库操作系统执行应用程序,处理内存管理和其他重要功能,并与底层操作系统集成。

大约两年前,SQL Server团队决定将其作为Linux工作的核心。“领导层表现出了适量的关心,”库马尔评论道,“我的猜测是,鉴于Drawbridge是一个实验性的项目,人们确实对此感到担忧。”但是SQL Server团队接管了Drawbridge代码库,并将其添加到SQL操作系统层中。

在许多方面,这个操作系统层是使这个项目成为可能的原因。由于SQL Server的需求总是超出了Windows和Windows服务器所能提供的,尤其是在内存管理方面,团队已经将许多标准OS特性构建到SQL Server的OS层中。因此,在Drawbridge中,SQL Server也可以管理自己的内存。这方面的工作非常成功,团队不仅在Linux上构建了SQL Server,还将SQL操作系统和它在Drawbridge上所做的工作合并到新的SQL平台抽象层上,这一层现在在Windows和Linux上运行。

因此,SQL Server团队可以从一个单独的代码库工作,并且不必担心代码的运行位置(这包括Microsoft的Azure平台)。

Linux的SQL Server应该在今年晚些时候就可以正式运行了。即使在今天,一些公司已经在生产环境中使用了它,而Linux版本的运行速度和Windows版本一样快(假设硬件一样)。

除了最终将版本发布出来外,库马尔指出,团队将密切关注下一步该做什么。尽管数据库领域的创新仍在继续加速,但并不是所有的微软客户都希望他们的任数据库版本可以做到每年(甚至更快)更新一次。不过,鉴于我们最近看到SQL Server 2016和2017年发布的SQL Server版本,我对SQL Server 2018预览版的发布将充满信息。

以上就是我们分享给大家关于Windows是如何把SQL Server迁移到Linux上的全部内容,希望对大家有所帮助。

(0)

相关推荐

  • SQL Server 2008连接不上服务器怎么办?

    有时候因为一些软件配置的问题,导致SQL Server 2008连接不上服务器,如下图所示. 操作方法 01 到[Microsoft SQL Server 2008]那里找到[SQL Server 配 ...

  • 浅谈Windows安全模式的功能和作用

    操作方法 01 使用计算机的老手一定对windows安全模式不陌生,在删除病毒,卸载顽固软件,或者系统维护时,Windows的安全模式肯定会帮助很大,下面电脑技术就说说Windows安全模式的作用以及 ...

  • win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程

    由于工作需要,今天要在电脑上安装SQL Server 2005。以往的项目都是使用Oracle,MS的数据库还真的没怎么用过,安装Oracle已经轻车熟路,但装SQL Server好像还有点小麻烦,所 ...

  • sql server 2012 链接服务器不能链接sql server 2000的解决方案

    把原来的sql server 2005直接装成了2012,然后在建立链接服务器链接一台sql server 2000的服务器时,报错信息大概是“SQL Server Native Client 11. ...

  • 如何设置SQL Server数据库服务器的身份验证模式

    服务器认证是用户访问数据库服务器之前,操作系统本身或者数据库服务器对来访用户进行的身份合法性验证. 这是SQL Server认证的第一步,用户只有通过服务器认证之后,才可以连接到SQL Sercer服 ...

  • 安装SQL Server 2005的详细步骤

    下面就开始使用安装向导进行安装,安装的SQL Server 2005版本为Microsoft SQL Server 2005 Enterprise Edition(32),共两张光盘. 提示 本书安装 ...

  • SQL Server 连接远程服务器数据库错误: 1326

    SQL Server 连接远程服务器数据库错误: 1326 其实是防火墙默认情况下是没有开启1433端口的,只要开启防火墙1433端口(顺便加上5022端口)就行了.若是不会添加,请参照以下教程 操作 ...

  • SQL Server无法连接到服务器的解决方案

    SQL Server无法连接究竟应该如何解决呢?提示"无法连接到服务器,用户xxx登陆失败" 是因为什么原因呢?错误产生的原因是由于SQL Server使用了"仅 Win ...

  • SQL Server 2005安装步骤详解

    操作系统:Microsoft Windows 7 旗舰版(32位) 数据库版本:SQL Server 2005 简体中文开发板 安装过SQL Server的人可能知道,它的有些服务要依赖于IIS,所以 ...