ITPub博客

首页 > 数据库 > SQL Server > 在Linux 上安装 SQL Server

在Linux 上安装 SQL Server

原创 SQL Server 作者:lhrbest 时间:2019-04-25 10:23:57 0 删除 编辑


在Linux 上安装 SQL Server 


官网:  https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-2017

离线下载包: https://packages.microsoft.com 


本文提供了有关安装、 更新和卸载 SQL Server 2017 和 Linux 上的 SQL Server 2019 预览版指南。

 提示

本指南 coves 几种部署方案。   如果您仅查找的分步安装说明,跳转到快速入门教程之一:

有关常见问题的解答,请参阅 SQL Server Linux 常见问题

支持的平台

Red Hat Enterprise Linux (RHEL)、 SUSE Linux Enterprise Server (SLES) 和 Ubuntu 上支持 SQL Server 2017。   它还支持作为 Docker 映像,可以在 Docker 的 Windows/mac。 或在 Linux 上的 Docker 引擎运行

平台 受支持的版本 获取
Red Hat Enterprise Linux 7.3, 7.4, 7.5, 7.6 Get RHEL 7.6
SUSE Linux Enterprise Server v12 SP2 获取 SLES v12 SP2
Ubuntu 16.04 获取 Ubuntu 16.04
Docker 引擎 1.8+ 获取 Docker

Microsoft 还支持部署和使用 OpenShift 和 Kubernetes 来管理 SQL Server 容器。

 备注

SQL Server 经过测试且支持在 Linux 上的前面列出的分发版。   如果您选择不受支持的操作系统上安装 SQL Server,请查看 的支持策略 一部分 Microsoft SQL Server 的技术支持策略 若要了解支持影响。

系统要求

SQL Server 2017 具有以下适用于 Linux 的系统要求:

内存 2 GB
“文件系统” XFS EXT4  (其他文件系统,如 BTRFS ,均不受支持)
磁盘空间 6 GB
处理器速度 2 GHz
处理器核心 2 个核心
处理器类型 仅 x64 兼容

如果您使用 网络文件系统 (NFS)  在生产中,远程共享,请注意以下支持要求:

  • 使用 NFS 版本 4.2 或更高版本   较旧版本的 NFS 不支持所需的功能,例如 fallocate 和稀疏文件创建,普遍适用于现代文件系统。
  • 仅定位  /var/opt/mssql 上 NFS 装入的目录。   不支持其他文件,如 SQL Server 系统二进制文件。
  • 请确保装载的远程共享时,NFS 客户端,使用 nolock 选项。

配置源存储库

当您安装或升级 SQL Server 时,可从你配置的 Microsoft 存储库获取最新版本的 SQL Server。   快速入门教程使用 SQL Server 2017 累积更新 CU 存储库。   但您可以改为配置 GDR 存储库或 预览版 (vNext)  存储库。   存储库以及如何配置它们的详细信息,请参阅 Linux 上的 SQL Server 配置存储库

 重要

如果您以前安装的 CTP 或 SQL Server 2017 的 RC 版本,必须删除预览存储库并注册一个常规正式版 (GA)。   有关详细信息,请参阅 Linux 上的 SQL Server 配置存储库

安装 SQL Server 2017

从命令行,可以在 Linux 上安装 SQL Server 2017。   有关分步说明,请参阅以下快速入门:


快速入门:安装 SQL Server 和 Red Hat 上创建数据库

适用于:   是 SQL Server (仅限 Linux) 没有 Azure SQL 数据库 没有 Azure SQL 数据仓库 没有 并行数据仓库

在此快速入门中,您安装 SQL Server 2017 或 SQL Server 2019 Red Hat Enterprise Linux (RHEL) 上。   然后使用连接 sqlcmd 创建第一个数据库和运行查询。

 提示

本教程需要用户输入和 Internet 连接。   如果您对 无人参与 脱机 安装感兴趣,请参阅  Linux 上的 SQL Server 的安装指南

先决条件

您必须具有的 RHEL 7.3、 7.4、 7.5 或 7.6 计算机 至少 2 GB 的内存。

若要在自己的计算机上安装 Red Hat Enterprise Linux,请访问  https://access.redhat.com/products/red-hat-enterprise-linux/evaluation    也可在 Azure 中创建 RHEL 虚拟机。   请参阅 使用 Azure CLI 创建和管理 Linux VM ,并在对  az vm create  的调用中使用  --image RHEL

如果以前已安装的 CTP 或 SQL Server 2017 的 RC 版本,必须执行以下步骤之前先删除旧存储库。   有关详细信息,请参阅 配置 Linux 存储库以用于 SQL Server 2017 和 2019年

其他系统要求,请参阅 Linux 上的 SQL Server 的系统要求

安装 SQL Server

若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令,以便安装 mssql server 包:

  1. 下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:

    bash 复制
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
    

     提示

    如果你想要试用 SQL Server 2019,则必须改为注册 预览版 (2019)  存储库。   对于 SQL Server 2019 安装中使用以下命令:

    bash 复制
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
    
  2. 运行以下命令,安装 SQL Server:

    bash 复制
    sudo yum install -y mssql-server
    
  3. 程序包安装完成后,请运行  mssql-conf setup  命令并按提示设置 SA 密码,然后选择版本。

    bash 复制
    sudo /opt/mssql/bin/mssql-conf setup
    

     提示

    以下 SQL Server 2017 版本自由地授予使用许可:评估、 开发人员版和 Express。

     备注

    请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。

  4. 配置完成后,请验证服务是否正在运行:

    bash 复制
    systemctl status mssql-server
    
  5. 若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。   默认的 SQL Server 端口为 TCP 1433。   如果对防火墙使用  FirewallD ,可以使用以下命令:

    bash 复制
    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
    

SQL Server 目前正在 RHEL 计算机上运行,可以使用了!

安装 SQL Server 命令行工具

若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。   以下步骤安装 SQL Server 命令行工具:  sqlcmd bcp

  1. 下载 Microsoft Red Hat 存储库配置文件。

    bash 复制
    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    
  2. 如果你有旧版 mssql 工具 安装,请删除任何较旧的 unixODBC 包。

    bash 复制
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. 运行以下命令以安装  mssql-tools  和 unixODBC 开发人员包。

    bash 复制
    sudo yum install -y mssql-tools unixODBC-devel
    
  4. 为方便起见,请将  /opt/mssql-tools/bin/  添加到  PATH  环境变量。   这样就可以在运行工具时不指定完整路径。   请运行以下命令,以便修改登录会话和交互/非登录会话的  PATH

    bash 复制
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
    

本地连接

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。

  1. 使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。   在本教程中,用户进行本地连接,因此服务器名称为  localhost   用户名为  SA ,密码是在安装过程中为 SA 帐户提供的密码。

    bash 复制
    sqlcmd -S localhost -U SA -P '<YourPassword>'
    

     提示

    可以在命令行上省略密码,以收到密码输入提示。

     提示

    如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

  2. 如果成功,应会显示 sqlcmd 命令提示符: 1>

  3. 如果连接失败,请首先尝试根据错误消息诊断问题。   然后查看 连接故障排除建议

创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

新建数据库

以下步骤创建一个名为  TestDB  的新数据库。

  1. 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

    SQL 复制
    CREATE DATABASE TestDB
    
  2. 在下一行中,编写一个查询以返回服务器上所有数据库的名称:

    SQL 复制
    SELECT Name from sys.Databases
    
  3. 前两个命令没有立即执行。   必须在新行中键入  GO  才能执行以前的命令:

    SQL 复制
    GO
    

 提示

若要详细了解如何编写 Transact-SQL 语句和查询,请参阅 教程:编写 Transact-SQL 语句

插入数据

接下来创建一个新表  Inventory ,然后插入两个新行。

  1. 在 sqlcmd 命令提示符中,将上下文切换到新的  TestDB  数据库:

    SQL 复制
    USE TestDB
    
  2. 创建名为  Inventory  的新表:

    SQL 复制
    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. 将数据插入新表:

    SQL 复制
    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. 要执行上述命令的类型  GO

    SQL 复制
    GO
    

选择数据

现在,运行查询以从  Inventory  表返回数据。

  1. 通过 sqlcmd 命令提示符输入查询,以返回  Inventory  表中数量大于 152 的行:

    SQL 复制
    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. 执行命令:

    SQL 复制
    GO
    

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入  QUIT

SQL 复制

QUIT

性能最佳实践

在 Linux 上安装 SQL Server 后, 查看配置 Linux 和 SQL Server 来提高生产方案的性能的最佳做法。   有关详细信息,请参阅 的性能最佳实践和 Linux 上的 SQL Server 配置准则

跨平台数据工具

除了 sqlcmd ,可以使用以下跨平台工具来管理 SQL Server:

Azure 数据 Studio 跨平台 GUI 数据库管理实用程序。
mssql-cli 用于运行 TRANSACT-SQL 命令的跨平台命令行界面。
Visual Studio Code 运行 TRANSACT-SQL 语句,mssql 扩展通过一个跨平台 GUI 代码编辑器。

从 Windows 连接

Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。

如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。   仅验证所使用的是目标 Linux 计算机名称或 IP 地址,而非 localhost,并确保 TCP 端口 1433 已打开。   如果从 Windows 进行连接存在任何问题,请参阅 连接故障排除建议

有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:

其他部署方案

有关其他安装方案,请参阅以下资源:

升级 了解如何升级 Linux 版 SQL Server 的现有安装
卸载 在 Linux 上卸载 SQL Server
无人参与安装 了解如何编写无提示安装脚本
脱机安装 了解如何手动下载脱机安装程序包

 提示

有关常见问题的解答,请参阅 SQL Server Linux 常见问题

后续步骤

在 Linux 上的 SQL Server 浏览的教程




脱机安装

如果你的 Linux 计算机无法访问中使用的在线存储库 快速入门 ,可以直接下载包文件。   这些包位于 Microsoft 存储库,  https://packages.microsoft.com 

 提示

如果使用快速入门中的步骤已成功安装,您不需要下载或手动安装 SQL Server 包。   本部分仅适用于脱机方案。

  1. 下载你的平台的数据库引擎包   包详细信息部分中找到包下载链接 发行说明

  2. 将下载的包移到 Linux 计算机   如果使用另一台计算机下载包,将包移到 Linux 计算机的一种方法是使用 scp 命令。

  3. 安装数据库引擎包   使用以下命令基于你的平台之一。   在此示例包文件的名称替换为你下载的确切名称。

    平台 包安装命令
    RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
    SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
    Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb

     备注

    您还可以使用安装 RPM 包 (RHEL 和 SLES) rpm -ivh 命令,但在上表中的命令会自动安装依赖项如果可从已批准的存储库。

  4. 解决缺少的依赖项 :你可能在此时缺少依赖项。   如果没有,可以跳过此步骤。   在 Ubuntu,如果你有权访问已批准存储库包含这些依赖项,最简单的解决方案是使用 apt-get -f install 命令。   此命令还完成了 SQL Server 的安装。   若要手动检查依赖项,请使用以下命令:

    平台 依赖项列表命令
    RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
    SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
    Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb

    在解决缺少的依赖项之后, 尝试再次安装 mssql server 包。

  5. 完成 SQL Server 安装程序   使用 mssql conf 完成 SQL Server 安装程序:

    bash 复制
    sudo /opt/mssql/bin/mssql-conf setup
    



如果你的Linux无法访问在线Repo,你可以直接下载RPM包文件。这些包位于微软的资料库: https://packages.microsoft.com


CU9 (2018 年7 月)

SQL Server 2017的累积更新包9。SQL Server引擎版本是14.0.3030.27。

Package

Package version

Downloads

Red Hat RPM package

14.0.3030.27-1

Engine RPM package
High Availability RPM package
Full-text Search RPM package
SSIS package












About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● weixin群:可加我weixin,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 646634621 ,注明添加缘由

● 于 2019-04-01 06:00 ~ 2019-04-30 24:00 在魔都完成

● 最新修改时间:2019-04-01 06:00 ~ 2019-04-30 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2642469/,如需转载,请注明出处,否则将追究法律责任。

下一篇: SQL Server下载
请登录后发表评论 登录
全部评论
QQ:646634621| 网名:小麦苗| 微信公众号:xiaomaimiaolhr| 11g OCM| QQ群:618766405 微信群:私聊| 《数据库笔试面试宝典》作者| OCP、OCM、高可用(RAC+DG+OGG)网络班开讲啦,有需要的小伙伴可以私聊我。

注册时间:2012-09-23

  • 博文量
    1355
  • 访问量
    8247864