https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-ver16&preserve-view=true&tabs=rhel8

本快速入门介绍如何在 Red Hat Enterprise Linux (RHEL) 8.x 上安装 SQL Server 2022 (16.x)。 然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。

备注

预览版目前支持 Red Hat Enterprise Linux 9.x 上的 SQL Server 2022 (16.x)。 本文中包含相关说明。

有关支持的平台的详细信息,请参阅 Linux 上的 SQL Server 2022 (16.x) 的发行说明

提示

本教程需要用户输入和 Internet 连接。 如果您对无人值守离线安装过程感兴趣,请参阅 Linux 上 SQL Server 的安装指南。 如果选择在 RHEL 上预安装 SQL Server VM,以便运行基于生产的工作负载,请遵循创建 SQL Server VM 的最佳做法

先决条件

必须拥有 RHEL 8.x 计算机(内存至少为 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

如果以前安装了 SQL Server 的社区技术预览版 (CTP) 或候选发布 (RC) 版本,则必须先删除旧存储库,然后再执行这些步骤。 有关详细信息,请参阅配置存储库以便安装和升级 Linux 上的 SQL Server

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

安装 SQL Server

以下用于安装 SQL Server 的命令指向 RHEL 8 存储库。

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

  1. 下载 SQL Server 2022 (16.x) Red Hat 8 存储库配置文件:

    Bash复制

     
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo

    提示

    如果要安装不同版本的 SQL Server,请参阅本文的 SQL Server 2017 (14.x) 或 SQL Server 2019 (15.x) 版本。

  2. 运行以下命令以安装 SQL Server:

    Bash复制

     
    sudo yum install -y mssql-server
  3. 包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。 作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

    Bash复制

     
    sudo /opt/mssql/bin/mssql-conf setup

    请记住为 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 计算机上运行,随时可以使用!

最佳做法是将 sa 帐户禁用

在安装后首次使用 sa 帐户连接到 SQL Server 实例时,请务必执行这些步骤,然后立即禁用 sa 登录,此操作为安全最佳做法。

  1. 创建新的登录帐户,并将其设为 sysadmin 服务器角色的成员。

  2. 使用创建的新登录帐户连接 SQL Server 实例。

  3. 按照安全最佳做法的建议,禁用 sa 帐户。

安装 SQL Server 命令行工具

若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具

通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools18。

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

    • 对于 Red Hat 8,请使用以下命令:

      Bash复制

       
      curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
    • 对于 Red Hat 7,请使用以下命令:

      Bash复制

       
      curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
  2. 如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。

    Bash复制

     
    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
  3. 运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18。

    Bash复制

     
    sudo yum install -y mssql-tools18 unixODBC-devel

    备注

    若要将 mssql-tools 更新至最新版本,请运行以下命令:

    Bash复制

     
    sudo yum check-update
    sudo yum update mssql-tools18
  4. 可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools18/bin/

    若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH

    Bash复制

     
    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile

    若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH

    Bash复制

     
    echo 'export PATH="$PATH:/opt/mssql-tools18/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>'

    备注

    默认情况下,较新版本的 sqlcmd 是安全的。 有关连接加密的详细信息,请参阅 sqlcmd 实用工具(对于 Windows)和使用 sqlcmd 进行连接(对于 Linux 和 macOS)。 如果连接不成功,则可以将 -No 选项添加到 sqlcmd,以指定加密是可选的,而不是强制性的。

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

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

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

  3. 如果连接失败,先尝试诊断错误消息中所述的问题。 然后查看连接故障排除建议

创建和查询数据

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

有关编写 Transact-SQL 语句和查询的详细信息,请参阅教程:编写 Transact-SQL 语句

新建数据库

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

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

    SQL复制

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

    SQL复制

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

    SQL复制

     
    GO

插入数据

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

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

    SQL复制

     
    USE TestDB;
  2. 创建名为 dbo.Inventory 的新表:

    SQL复制

     
    CREATE TABLE dbo.Inventory (
    id INT,
    name NVARCHAR(50),
    quantity INT,
    PRIMARY KEY (id)
    );
  3. 将数据插入新表:

    SQL复制

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

    SQL复制

     
    GO

选择数据

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

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

    SQL复制

     
    SELECT * FROM dbo.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 Data Studio 跨平台 GUI 数据库管理实用程序。
Visual Studio Code 一种跨平台 GUI 代码编辑器,它使用 mssql 扩展运行 Transact-SQL 语句。
PowerShell Core 基于 cmdlet 的跨平台自动化和配置工具。
mssql-cli 用于运行 Transact-SQL 命令的跨平台命令行接口。

从 Windows 进行连接

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

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

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

其他部署方案

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

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

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

相关内容

 参与编辑 SQL 文档

你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。

有关详细信息,请参阅如何参与 SQL Server 文档编辑

[转帖]快速入门:在 Red Hat 上安装 SQL Server 并创建数据库的更多相关文章

  1. 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017

    必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...

  2. 在linux上安装 sql server for linux

    在linux上安装 sql server for linux Install SQL Server on Red Hat Enterprise Linux Install SQL Server To ...

  3. 如何在64位系统上安装SQL Server 2000

    如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...

  4. 在 DEBIAN 上安装 SQL SERVER

    微软在开源 .NET Framework 之后,相继推出了跨平台的编辑器 Visual Studio Code,跨平台的 SQL Server 数据库 SQL Server vNext,Visual ...

  5. [转]如何:在设备上安装 SQL Server Compact 3.5

    将设备连接到计算机,或者将仿真程序插入底座. 有关更多信息,请参见如何:将设备仿真程序插入底座和移除底座. 说明: 计算机上必须已安装了 Windows Mobile Device Center 或 ...

  6. 图文详解在Windows server 2008 R2上安装SQL Server 2012集群

    1.准备: 4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC ...

  7. 在 Debian 上安装 SQL Server vNext CTP1

    微软在开源 .NET Framework 之后,相继推出了跨平台的编辑器 Visual Studio Code,跨平台的 SQL Server 数据库 SQL Server vNext,Visual ...

  8. CentOS上安装SQL Server vNext CTP1

    今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律,可以在生产环境上使用了.打了SP1的标准版将具有企业版几乎所有的的功能.只有RAM 超过128GB或者超过24核心或者超 ...

  9. win8上安装sql server (2008 and 2008 R2)存在兼容性问题怎么解决

     安装sql2008R2之前,需要先下载"AccessDatabaseEngine"组件并安装(百度上搜索下载就可以了),打补丁重启,再安装sql2008,安装时候提示兼容性问 ...

  10. 在win server 2003上安装SQL Server 2008的步骤

    1.安装Microsoft .NET Framework 3.5 Service Pack 1,下载地址:http://www.microsoft.com/zh-cn/download/confirm ...

随机推荐

  1. Python——第四章:推导式(Comprehensions)

    推导式: 推导式是为了简化代码. 语法: 列表推导式:[数据 for循环 if判断] 集合推导式:{数据 for循环 if判断} 字典推导式:{k:v for循环 if判断} 元组推导式:不存在(因为 ...

  2. Python——第二章:字符串操作——总结

    总结: f"{变量}"  格式化字符串最优方法 索引.切片.步长: 索引:从0开始计算的.[5] 切片:s[start: end: step],end位置的数据永远拿不到,左闭又开 ...

  3. Python——第一章:for循环

    字符串是可迭代的for循环: for 任意变量名 in 字符串|列表|元祖|字典|集合(可迭代的东西): 代码 for循环把可迭代的东西中的每一项内容拿出来. 挨个的赋值给变量. 每一次赋值都要执行一 ...

  4. Pikachu漏洞靶场 Over Permission(越权)

    Over Permission(越权) 文章目录 Over Permission(越权) 水平越权 垂直越权 水平越权 首先根据提示信息的账号密码登录: 点击查看个人信息: 抓包之后发现查的人是在UR ...

  5. Docker下的SqlServer发布订阅启用

    一.准备一个Docker的sqlserver #创建挂载数据文件夹 mkdir -p /home/mssql/data #创建挂载日志文件夹 mkdir /home/mssql/log #给文件夹权限 ...

  6. 袋鼠云数栈UI5.0设计实战|B端表单这样设计,不仅美观还提效

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:大喜 相关文章:袋鼠云出品!数栈UI 5.0全新体验升级, ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题

    文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题 一.参照图 6-4 的方法,说明 HEAPSORT 在数组 A=(5,13,2,25,7,17,20,8,4)上的操 ...

  8. 数仓在线运维:如何进行在线增删CN?

    摘要:集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加CN可以适当降低CPU消耗,增大接入连接数,分散CN节点业务压力,根据实际情况来识别是否要增加CN,如果是提升集群容量和扩展比能力, ...

  9. 关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!

    摘要:GaussDB(DWS)除了支持标准的POSIX正则表达式句法,还拥有一些特殊句法和选项,这些你可了解?本文便为你讲解这些特殊句法和选项. 概述 正则表达式(Regular Expression ...

  10. 拔掉电源会怎样?GaussDB(for Redis)双活让你有备无患

    摘要:GaussDB(for Redis)推出双活方案,助力全球化业务部署,为您的数据资产保驾护航! 本文分享自华为云社区<华为云GaussDB(for Redis)揭秘第22期:拔掉电源会怎样 ...