已于近日正式发布。这是SQLServer历史上第一次同时发布Windows和Linux版本。此外,微软还发布了一个可以使用Docker部署的容器版本。对于SQLServer来说,这是其历史上具有里程碑意义的一步,因为这是第一个超越Windows的版本,标志着SQLServer首次在Linux平台上可用。新版SQLServer2017成为第一个跨不同操作系统(包括Linux和Docker)的基于云的版本。SQLServer2017目前支持的Linux发行版包括:RedHatEnterpriseLinux(RHEL)、SUSELinuxEnterpriseServer和Ubuntu。SQLServer2017支持三种容器平台:DockerEnterpriseEdition、Kubernetes和OpenShift。SQLServer2017新特性SQLServer2017支持在数据库中使用R和Python分析方法进行机器学习,这意味着无需迁移数据,节省大量时间。图形数据分析功能将使客户能够使用图形数据存储和查询语言扩展来使用本地图形查询语法来发现高度互连数据中的新关系。自适应查询处理为您的数据库带来更智能的体验。例如,SQLServer中的AdaptiveMemoryGrants跟踪并了解给定查询使用了多少内存,以便调整内存使用情况。自动计划更正通过查找和纠正性能退化来确保持续的性能。SQLServer2017的核心功能在Windows和Linux上保持不变,但少数依赖于Windows功能的特性在Linux上不可用(例如集群支持和集成的Windows身份验证)。本文将介绍如何在Ubuntu下部署SQLServer2017。安装SQLServer2017在Linux上安装SQLServer2017的先决条件设备类型设备要求内存3.25GB及以上文件系统XFS或EXT4(不支持其他文件系统,例如BTRFS)磁盘空间6GB处理器速度2GHz处理器核心2核心处理器类型x64仅兼容安装SQLServer2017Server导入公共存储库GPG密钥$curlhttps://packages.microsoft.com/keys/microsoft.asc|sudoapt-keyadd-AddMicrosoftSQLServerUbuntuRepository$add-apt-repository"$(curlhttps://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"安装SQLServer服务器$apt-getupdate$apt-getinstall-ymssql-server设置SA密码并选择版本安装$/opt/mssql/bin/mssql-confsetupChooseaneditionofSQLServer:1)Evaluation(free,noproductionuserrights,180-daylimit)2)Developer(free,noproductionuserrights)3)Express(free)4)Web(PAID)5)Standard(PAID)6)Enterprise(PAID)7)EnterpriseCore(PAID)8)Iboughtalicensethrougharetailsaleschannelandhaveaproductkeytoenter.Detailsabouteditionscanbefoundathttps://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409UseofPAIDeditionsofthissoftwarerequiresseparatelicensingthroughaMicrosoftVolumeLicensingprogram.BychoosingaPAIDedition,youareverifyingthatyouhavetheappropriatenumberoflicensesinplacetoinstallandrunthissoftware.Enteryouredition(1-8):1此产品的许可条款可在/usr/share/doc/mssql-server中找到或从以下位置下载:https://go.microsoft.com/fwlink/?LinkId=855864&clcid=0x409隐私声明可在以下位置查看:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Doyouacceptthelicenseterms?[Yes/No]:yesEntertheSQLServersystemadministratorpassword:ConfirmtheSQLServersystemadministratorpassword:ConfiguringSQLServer...ThelicensingPIDwassuccessfullyprocessed.Theneweditionis[EnterpriseEvaluationEdition].Createdsymlinkfrom/etc/syst复制代码emd/system/multi-user.target.wants/mssql-server.serviceto/lib/systemd/system/mssql-server.service.Setuphascompletedsuccessfully.SQLServerisnowstarting.共提供8个版本供选择,其中免费授权版本为:Evaluation、Developer和ExpressSA帐户必须有强密码(至少8个字符,包括大小写字母、十进制数字和/或非字母数字符号)。验证服务是否正在运行$systemctlstatusmssql-servermssql-server.service-MicrosoftSQLServerDatabaseEngineLoaded:loaded(/lib/systemd/system/mssql-server.service;enabled;vendorpreset:enabled)Active:active(running)sinceThu2017-10-1211:50:29CST;1min22sago文档:https://docs.microsoft.com/en-us/sql/linuxMainPID:20776(sqlservr)CGroup:/system.slice/mssql-server.service├─20776/opt/mssql/bin/sqlservr└─20796/opt/mssql/bin/sqlservr安装SQLServer2017命令行工具如果要创建数据库,需要使用客户端工具sqlcmd和bcp。导入公共存储库GPG密钥$curlhttps://packages.microsoft.com/keys/microsoft.asc|sudoapt-keyadd-添加MicrosoftUbuntu存储库$add-apt-repository"$(curlhttps://packages.microsoft.com/config/ubuntu/16.04/prod.list)”安装SQLServer命令行工具和unixODBC开发者工具包/,为方便起见,将/opt/mssql-tools/bin/添加到环境变量中。$echo'exportPATH="$PATH:/opt/mssql-tools/bin"'>>~/.bash_profile$echo'exportPATH="$PATH:/opt/mssql-tools/bin"'>>~/.bashrc$source~/.bashrcSqlcmd是一个命令行工具,用于连接到SQLServer以运行查询并执行管理和开发。如果你想要一个更强大的图形工具,你可以使用SQLServerManagementStudio或VisualStudioCode的mssql插件。使用Sqlcmd建立本地连接Sqlcmd连接到SQLServer的本地实例。密码为安装时配置的SA帐号密码。$sqlcmd-Slocalhost-USA-P'
