当前位置: 首页 > 科技观察

在UbuntuSQLServer2017下部署SQLServer2018

时间:2023-03-14 17:01:02 科技观察

已于近日正式发布。这是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''参数说明-S连接SQLServer的机器名-U连接SQLServer的用户名-P连接SQLServer的密码如果连接成功,sqlcmd命令应该会显示提示:1>,像下面的$sqlcmd-Slocalhost-USAPassword:1>CreatedatabaseandquerydataCreateanewdatabaseCreateanewdatabasenamedTestDB在sqlcmd命令提示符下,执行Transact-SQL命令创建一个测试数据库。1>CREATEDATABASETestDBinSQLServer该命令不会立即执行,必须在新行中键入GO才能执行该命令。2>GO返回服务器上所有数据库的名称1>SELECTNamefromsys.Databases2>GOName------------------------------------mastertempdbmodelmsdbTestDB(5rowsaffected)Insertdata创建一个新表Inventory,然后插入两个新行。在sqlcmd命令提示符下,切换到新的TestDB数据库。1>USETestDB创建一个名为Inventory的新表2>CREATETABLEInventory(idINT,nameNVARCHAR(50),quantityINT)将数据插入新表3>INSERTINTOInventoryVALUES(1,'banana',150);INSERTINTOInventoryVALUES(2,'orange',154);批量执行以上命令4>GO整个执行过程如下1>USETestDB2>CREATETABLEInventory(idINT,nameNVARCHAR(50),quantityINT)3>INSERTINTOInventoryVALUES(1,'banana',150);INSERTINTOInventoryVALUES(2,'orange',154);4>GOChangeddatabasecontextto'TestDB'.(1rowsaffected)(1rowsaffected)查询数据使用sqlcmd命令查询Inventory表中数量大于152的行1>SELECT*FROMInventoryWHEREquantity>152;2>GOidnamequantity---------------------------2orange154(1rowsaffected)退出sqlcmd要结束sqlcmd会话,请键入QUIT。1>QUITUninstallSQLServer2017要删除SQLServer2017,可以使用以下命令$apt-getremovessql-serverdeletepackage不会删除生成的数据库文件。如果要删除数据库文件,在微软良心出品的编辑器VisualStudioCode的推荐下,可以使用如下命令$sudorm-rf/var/opt/mssql/***非常强大,交叉-平台和开源。最重要的是它比Atom更快,而且有很多插件。已经从Atom转到VSCode了,感谢蜗牛大神的推荐!下图是VSCode+MSSQL插件的效果图。有什么好的吗?参考文档http://www.google.comhttps://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu

最新推荐
猜你喜欢